server | int。サーバ番号を指定する |
戻り値 | −1:通信エラー 0:接続処理中 1:接続完了。通信可能 |
//サーバ S@BACKGROUND( 2 ) //非アクティブでも動かす CH = G@SETUP(300,200,16,1) //画面初期化 SV = P@SRVMAKE( 5000 ) //サーバ通信開始 LOOP G@CHRCLEAR( CH ) //画面クリア UU = P@SRVGETUSER( SV ) //クライアント接続チェック IF UU <> 0 THEN //接続した? MOJI$="接続してきました" P@PUSHSTR(UU,"やっほー") //送信メッセージ登録 P@SEND(UU) //送信 P@CLOSE( UU ) //クライアント切断 ELSE MOJI$="接続待ち" ENDIF G@PRINT(CH,0, 0,MOJI$) G@FLIP() //画面更新 S@SLEEP(500) ENDLOOP
//クライアント S@BACKGROUND( 2 ) //非アクティブでも動かす CH = G@SETUP(300,200,16,1) //画面初期化 SV = P@USERMAKE("127.0.0.1" , 5000) //サーバに接続開始 RMODE=0 LOOP G@CHRCLEAR( CH ) //画面クリア IF SV <> 0 THEN //接続待ち or 接続中 PRET = P@USERGETSTATE( SV ) //接続状態チェック SELECT WHEN PRET=0: //接続中? MOJI$="接続中…" BREAK WHEN PRET=1: //接続完了? MOJI$="接続しました" RMODE=1 //受信可能とする BREAK WHEN PRET=-1: //接続失敗? MOJI$="接続失敗" SV = 0 BREAK ENDSELECT IF RMODE = 1 THEN //受信可能? IF 0 < P@RECV(SV) THEN //受信 and 受信した? MOJI2$=P@POPSTR(SV) //受信文字列取得 P@CLOSE(SV) //サーバと切断 SV=0 ENDIF ENDIF ENDIF G@PRINT(CH,0, 0,MOJI$) G@PRINT(CH,0,20,MOJI2$) G@FLIP() //画面更新 ENDLOOP