サーバースクリプトが呼び出す単純なソケットphp5.3スクリプトを作成しました...
socket_select($read_set, $write_set, $exception_set, 2);
...ループ内。非ブロッキングソケットを使用していて、スクリプトはWin7マシンで実行されています。
問題:この関数はスクリプトを2秒間ブロックします。これは、4番目のパラメーター($ tv_sec)がこのブロックを引き起こすことを意味します。
私の質問:$tv_sec
またはの違いは何$tv_usec
ですか?何をし$tv_usec
ますか?
PHPマニュアルの関数の説明:
socket_select(array&$read, array&$write, array&$ex, int $tv_sec[,int $tv_usec=0])
tv_sec: tv_secとtv_usecが一緒になってタイムアウトパラメータを形成します。タイムアウトは、socket_select()が戻るまでに経過した時間の上限です。tv_secがゼロの場合、socket_select()がすぐに返されます。これはポーリングに役立ちます。tv_secがNULL(タイムアウトなし)の場合、socket_select()は無期限にブロックできます。
tv_usec:説明なし