私は、UDP ソケットを介して通信できるサーバー/クライアント php スクリプトに取り組んでいます。socket_recv()関数に timeout() を実装する良い方法があるかどうか疑問に思っていました。現在、クライアントでブロックされており、ack を待っています。
ご意見ありがとうございます。
私の質問に対する解決策を見つけました: socket_set_option() には、socket_recv() だけにタイムアウトを設定するオプション SO_RCVTIMEO があります。
例えば:
socket_set_option($sock,SOL_SOCKET,SO_RCVTIMEO,array("sec"=>1,"usec"=>0));
これにより、socket_recv() のソケット レベルでソケットのタイムアウトが 1 秒と 0 マイクロ秒に設定され ます http://www.php.net/manual/en/function.socket-set-option.php
解決策をお探しでしたら、ありがとうございます。