コンピュータを楽しもう!!

今、自分が面白くていろいろやってみたことを書き綴りたいと思います。連絡先はtarosa.yでgmail.comです。

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()