TCP_Listen

4D - Documentation   French   English   German   日本語   4D Internet Commandsコマンドテーマリスト   4D Internet Commandsインデックス   戻る   前   次

version 6.8.1 (Modified)


TCP_Listen (remoteHost; localPort; remotePort; timeout; tcp_ID) 整数

引数Type説明
remoteHost文字列ホスト名またはIPアドレス
空の文字列を含む変数を渡した場合、接続したホストのIPアドレス
localPort整数ローカルポート番号, 0 = 未使用のポートを検索
使用したローカルポート番号 (0を渡した場合)
remotePort整数待ち受けポート番号
timeout整数待ち受け秒数, 0 = 永久に待つ
tcp_ID倍長整数このTCPセッションへの参照
戻り値整数エラーコード

説明

TCP_Listen コマンドは、remoteHostで指定したマシンからの、remotePortで指定したポート番号の接続を待ちます。このコマンドは、接続が確立されるか、timeoutが経過するまで、4Dにコントロールを返しません。接続が確立されるまでデータベースがロックしたかのように見えますが、このコマンドは他の4Dプロセスに対し有効に振舞います。このコマンドは、既に起動されている4Dプロセスに対し、時間をスライスします。

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

remoteHost は接続を待ちうける先のマシンのホスト名またはIPアドレスです。

- 空の文字列が渡された場合、このコマンドはすべてのマシンからの接続を待ちうけます。

- 空の文字列を含む変数を渡した場合、接続したマシンのIPアドレスが変数に返されます。

Note: Windowsでは、remoteHostにIPアドレスを受け付けないことがあります。これが発生した場合、エラー?10049 “Specified address is not available from the local machine”が生成されます。そのため、IPアドレスによるフィルタが必要な場合、空の文字列を含んだ変数の使用をお勧めします。

localPortには、通信に使用するローカルマシンのポート番号を渡します。この引数に0を渡すと、コマンドは未使用のポート番号を探し、この引数に返します。

remotePortには、接続を待ちうけるポート番号を指定します。

Note: TCP_Listen (やTCP_Open) をコールした後、remotePortに渡した値が32767より大きい場合、マイナスの値が格納されていることがあります。このことは接続に影響ありません。

これを避けたい場合、代わりの変数を使用します:

   $v_ RemotePort:=v_ RemotePort
   $err:=TCP_Listen (v_ RemoteHostIPAdr;0;$v_ RemotePort;30;v_ SessionID)  

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

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

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

例題

   C_LONGINT(vTCPID)
   C_INTEGER(vStatus)
   $err:=TCP_Listen ("";0;49152;30;vTCPID)
   $err:=TCP_State (vTCPID;vStatus)
   If (vStatus=8)     `接続が確立された
      DoSomething
      $err:=TCP_Close (vTCPID)
   End if 

参照

Appendix B - TCPポート番号, TCP_Open, TCP_State.


4D - Documentation   French   English   German   日本語   4D Internet Commandsコマンドテーマリスト   4D Internet Commandsインデックス   戻る   前   次