version 6.8.1 (Modified)
TCP_Open (hostName; remotePort; tcp_ID{; sessionSettings}) --> 整数
引数 | Type | 説明 | |
hostName | 文字列 | --> | ホスト名またはIPアドレス |
remotePort | 整数 | --> | 接続するリモートポート (0 = any) |
tcp_ID | 倍長整数 | このTCPセッションへの参照 | |
sessionSettings | 整数 | --> | TCPセッション設定 |
0 = 同期 (省略時のデフォルト) | |||
1 = 非同期 | |||
2 = SSL使用, 同期 | |||
3 = SSL使用, 非同期 | |||
戻り値 | 整数 | エラーコード |
説明
TCP_Open コマンドは、ドメインへの外向きのTCP接続を開始します。
TCP_Openは、hostNameで指定されたリモートのTCPへ、指定したremotePort (0でない場合) ポート番号で接続を開始します。倍長整数値がtcp_IDに返されます。この番号は、このセッションを参照するTCPコマンドで使用されます。TCP_Openはデータを受信しない場合のタイプアウトを30秒に設定されます。デフォルトのタイムアウト値はIT_SetTimeOutコマンドで変更できます。
hostName は、接続を開くマシンのホスト名またはIPアドレスです。
remotePort はhostNameで指定したマシンの、接続を行うTCPポートです。
Note: TCP_Open (またはTCP_Listen) 実行後、remotePortに渡した値が32767より大きい場合、マイナスの値が格納されていることがあります。このことは接続に影響ありません。これを避けたい場合、代わりの変数を使用します:
$v_ RemotePort:=v_ RemotePort $err:=TCP_Open (v_ RemoteHostIPAdr;$v_ RemotePort;v_ SessionID)
tcp_ID は開かれたセッションへの参照が返されます。この参照は、このセッションを参照するTCPコマンドで使用されます。
sessionSettings はオプションの引数で、TCPセッション設定を指定するための整数値です。この設定は、セッションの間TCPコマンドを実行するたびに適用されます。デフォルト値は 0 (同期, 非SSL) です。
SSL (Secured Socket Layer) はセキュアなTCP接続を行うためのプロトコルです。詳細とインストールに関する要件は4Dのリファレンスを参照してください。
TCP_Open コマンドによるすべてのTCP接続は、TCP_Close コマンドで閉じなければなりません。
非同期/同期
非同期 モードは、接続処理の終了を待たず (リモートホストとの接続が確立されるのを待たず) に即座にコントロールを4Dカーネルに返します。非同期モードは、TCPコマンドが4Dの時間を使用することを望まない場合に利用できます。
同期 モードは、接続処理が終了した後 (成功または非成功) に、4Dカーネルにコントロールを返します。
・0 = 同期モード (デフォルトモード、以前の4D Internet Commandsと同様の動作)
・1 = 非同期モード
・2 = SSL使用, 同期。このTCPセッションを参照するすべてのTCPコマンドは、SSLプロトコルを使用して、同期モードで動作します。
・3 = SSL使用, 非同期。このTCPセッションを参照するすべてのTCPコマンドは、SSLプロトコルを使用して、非同期モードで動作します。
Note: 2または3を渡した場合、SSL接続を開くことができないとエラー10089が返されます (SLIライブラリが4D Extensionsフォルダに見つからない)。
例題
Httpsを使用してWebサイトに接続します。
$vError:=TCP_Open (hostName; 443; tcp_ID;2) ... $vError:=TCP_Close (tcp_ID) `セッションを閉じることを忘れないように
参照