HSP3.0に同梱されたスクリプト「CLIENT2.hsp」ですが
sockcheck で、データーを着信していればループを続け
逆に着信していなければループを抜ける構造になっています。
前後のスクリプトからすると
恐らく	"if stat!=0 : break" では無く "if stat =0 : break"
が正しいのだと思いますが…sockgetの動作に関して質問です。
このサンプルですと、sockgetを実行したときに待ち時間が発生しています。
sockgetは着信していないときにはエラーではなく、
着信するまで待機という扱いになるのでしょうか?(全くタイムアウトを設けていない?)
逆にいえば、スクリプトを円滑に動作させる場合には
sockcheck が必須と言う事で間違いないでしょうか?
希望としては、sockget系の命令を実行したときに、
sockcheckと同等のチェックを行い、statに結果を返し
オプションで実際に受信するかどうかを指定…とかになると面倒がないなぁと
#include "hspsock.as"
	title "TCPクライアントテスト"
	adr="127.0.0.1"
	port=999
	mes adr+"、ポート"+port+"に接続中..."
	sockopen 0,adr,port
	if stat : dialog "socket error" : goto *bye
	mes "接続しました..."
	a=0
	repeat
	sockcheck 0
	title "CHK="+stat+"/"+a
	;if stat!=0 : break
	if stat =0 : break;← これで正しい??
	wait 10
	a+
	loop
	a=""
	sockget a,64
	if stat : dialog "socket error" : goto *bye
	mes "サーバーからのメッセージ : "+a
*bye
	mes "終了"
	sockclose
	stop
 
								


















 HSP3.0 同梱のサンプルスクリプト「CLIENT2.hsp」内記述に関する報告と、sockgetの扱いに関して質問
HSP3.0 同梱のサンプルスクリプト「CLIENT2.hsp」内記述に関する報告と、sockgetの扱いに関して質問


