クライアント側
#include "hspsock.as"
title "TCPクライアントテスト"
youso = 0
ment_n = 0
itemn = "" , "" , "" , "" , ""
itemb = 0 , 0 , 0 , 0 , 0
itemc = 0 , 0 , 0 , 0 , 0 //ここ重要!! 更新可能データ(変数値1)なら、更新される。0なら、更新されない。//
itemd = 0
m_cnt = 0
adr="127.0.0.1"
port=999
mes adr+"、ポート"+port+"に接続中..."
sockopen 0,adr,port
if stat : dialog "socket error" : goto *bye
mes "接続しました..."
wait 50
cls
*rep
aa=0
repeat
sockcheck 0
title "CHK="+stat+"/"+aa
if stat=0 : break
if stat=2 : goto *bye
wait 10
aa+
loop
if itemd = 0 {
a=""
sockget a,64
}
if itemd = 1 {
sinitem = ""
sockget sinitem,64
}
if stat : dialog "socket error" : goto *bye
/////命令判断プログラムここから
if a = "s_end" : end
if a = "ment_s" {
dialog "只今より\nメンテナンスを\n開始します。",1,"お知らせ"
ment_n = 1
wait 1
goto *rep
}
if a = "item_t" {
if ment_n = 1 {
mes "新アイテムを受信します。"
itemd = 1
youso + 1
wait 1
goto *rep
}
}
if itemd = 1 {
if sinitem ! "" { //sinitemに変化があったら条件文実行。
if sinitem = "item_e" { //アイテム受信終了コマンド
mes "アイテム受信を終了します。"
youso + 1
itemd = 0
wait 1
goto *rep
}
foreach itemn
mes "#"+m_cnt+":"+itemn(m_cnt)
if itemn(m_cnt) = "" {
itemn(m_cnt) = sinitem
sinitem = ""
mes "新アイテム ["+itemn(m_cnt)+"] を受信しました。["+m_cnt+"]"
youso + 1
m_cnt = 0
}
else {
m_cnt + 1
wait 10
loop
}
}
wait 1
goto *rep
if a = "ment_e" {
dialog "大変お待たせ\n致しました。\nメンテナンスを\n終了します。",1,"お知らせ"
wait 1
goto *rep
}
wait 1
goto *rep
/////命令判断プログラムここまで
*bye
mes "終了"
sockclose
stop
このようなスクリプトになっているのですが、
"ment_s"を送信した後、"item_t"を送信し、アイテム名を送信すると、
『○○○を受信しました。』という文字が出て、
"item_e"を送信すると、『アイテム受信を終了します。』という文字が表示される。
というプログラムを作りたいのですが、実行すると、アイテム名を入力して送信すると、
『新アイテムを受信します。』という文字が出てきます。
どこが間違っているのか、全然分かりません。
分かる方、いらっしゃいましたら、回答、宜しくお願い致します。