php_stream_sock_open_host() は、指定されたホスト
host
のポート port
に対する
接続を確立します。socktype
は、
接続に適用される様式を指定します。socktype
に
指定できる値はシステムに依存していますが、大抵は (少なくとも)
SOCK_STREAM を、時系列的な、信頼性のある、
双方向接続のソケット (TCP)、 SOCK_DGRAM を、
接続型でなく信頼性の少ない固定長メッセージのソケット (UDP) に対して
指定できます。
persistent
は、ストリームを恒久的ストリームとして
開くかどうかを指定します。一般的には、この値は 0 になることがほとんどです。
timeout
が NULL でない場合、接続する間に許される
最長の時間を指定します。
もし、タイムアウトの値よりも長く接続に時間がかかったときは、
接続は中断され、ストリームがオープンできなかったことを示すよう
NULL が返されます。
注意: タイムアウトの値は DNS ルックアップにかかる時間を含みません。 ブロックしない DNS ルックアップを実装する移植性の高い方法がないからです。
また、タイムアウトは、接続フェーズにのみ適用されます。 もし、後に続く読み出しや書き込み操作についてタイムアウト時間を設定したい場合は、 一旦開かれたストリームに対し、 php_stream_sock_set_timeout() を使ってください。
ストリーム API は、socktype
に指定できる値に
制限を設けていませんが、自分の拡張モジュールをリリースする際には、
その値がどれくらいの移植可能性を持つかについて考慮しましょう。