4D Internet Commands v16

TCP_Listen

ホーム

 
4D Internet Commands v16
TCP_Listen

TCP_Listen 


 

TCP_Listen ( ipAddress ; remotePort ; localPort ; timeout ; tcp_ID ) -> 戻り値 
引数   説明
ipAddress  文字 in 接続を受け付けるIPアドレス、または""の場合すべてのアドレス
in 使用されたIPアドレス (空の文字列を内容とする変数が渡された場合)
remotePort  整数 in *** 引数は無視されます ***
localPort  整数 in ローカルポート番号, 0 = 未使用のポートを検索
in 使用したローカルポート番号 (0を渡した場合)
timeout  整数 in 待ち受け秒数, 0 = 永久に待つ
tcp_ID  倍長整数 in このTCPセッションへの参照
戻り値  整数 in エラーコード

説明   

TCP_Listen コマンドは ipAddresslocalPort引数で指定したアドレスとポートを使用して通信ソケットを開きます。このコマンドは、接続が確立されるか、timeoutが経過するまで、4Dにコントロールを返しません。接続が確立されるまでデータベースがロックしたかのように見えますが、このコマンドは他の4Dプロセスに対し有効に振舞います。このコマンドは、既に起動されている4Dプロセスに対し、時間をスライスします。

ほとんどの4Dデベロッパは、独自の4Dプロセスで実行されるメソッドからこのコマンドをコールするでしょう (特にtimeoutをなしにする場合)。

ipAddress は接続を待ちうけるマシンのIPアドレスです:

  • ローカルのIPアドレスを渡した場合には、そこの入力接続が使用されます。
  • 空の文字列が渡された場合、このコマンドはこのマシン上で利用可能なすべてのアドレスで接続を待ちうけます。
  • 空の文字列を含む変数を渡した場合、接続を受け付けたリモートのIPアドレスも変数に返されます。
localPortには通信に使用するTCPポート番号を渡します。この引数に0を渡すと、コマンドは未使用のポート番号を探し、この引数に返します。

timeoutに は、このコマンドが接続を待ちうける待ち秒数を指定します。この引数に0を渡すと、コマンドは永遠に接続を待ちうけます。0を渡すことには注意が必要で す。接続が来ない場合、このコマンドを呼び出した4Dプロセスにはコントロールが返らなくなります。シングルプロセスデータベースの場合、0を渡してはい けません。

tcp_ID には開かれたセッションの参照が返されます。この参照はこのセッションを参照するTCPコマンドで使用されます。

TCP_ListenコマンドによるすべてのTCP接続は、TCP_Close コマンドで閉じなければなりません。

例題  

 C_LONGINT(vTCPID)
 C_LONGINT(vStatus)
 $err:=TCP_Listen("";0;0;30;vTCPID)
 $err:=TCP_State(vTCPID;vStatus)
 If(vStatus=2) //ソケットが開かれ接続を受け付けた
    DoSomething
    $err:=TCP_Close(vTCPID)
 End if



参照 

Appendix B, TCPポート番号
TCP_Open
TCP_State

 
プロパティ 

プロダクト: 4D Internet Commands
テーマ: IC TCP/IP
番号: 88932

 
履歴 

変更: 4D Internet Commands 6.8.1

 
ARTICLE USAGE

4D Internet Commands ( 4D Internet Commands v16)