sock.listenOpen( ソケット番号, ポート番号 [,タイムアウト] ) 戻り値: 接続待ち結果
ポート番号を指定して、tcp接続を受け付けるコマンドです。2つのポートまで同時に接続できる仕様にしました。そこで、ソケット番号に1番か2番を指定してください。
sock.nlistenOpen()も同じ機能です。nlistenOpen()でオープンした方が高速に通信できます。nlistenOpen()で接続した場合は、sock.nclose()で閉じてください。
引数
- ソケット番号: 2つまでソケットを使うことができ、1か2を指定します。
- ポート番号: 接続を受け付けるポート番号を指定します。
- タイムアウト: 接続されるのを待っている時間です。sec単位で指定してください。省略したときは5secに設定されます。
戻り値
- 接続待ち結果: 0:失敗、1:成功
使用例
------------------------------------------ -- sockのテストです。Listen側 ------------------------------------------ num = 1 --1と2 の2つまで同時にセッションが張れるので、1か2を指定します。 dialog( "接続を待ちます", "" , 1) ret = sock.listenOpen( num, 60011, 10 ) --10sec待ちます if( ret==0 )then dialog( "接続されませんでした", "" , 1 ) system.exit() end --相手のIPアドレスを取得 add = sock.getAddress( num ) --相手のIPアドレスとこちらのIPアドレスを送信する sendData = add.."/"..sock.getAddress( num, 1 ) dialog( add.." から接続されました", "相手に "..sendData.." を送信します", 1 ) len = sendData:len() sock.send( num, sendData, len ) dialog( "", "送信が終了したので、ソケットを閉じて終了します" , 1 ) sock.close( num ) system.exit()