3

私は、UDP ソケットを介して通信できるサーバー/クライアント php スクリプトに取り組んでいます。socket_recv()関数に timeout() を実装する良い方法があるかどうか疑問に思っていました。現在、クライアントでブロックされており、ack を待っています。

ご意見ありがとうございます。

4

1 に答える 1

13

私の質問に対する解決策を見つけました: 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

解決策をお探しでしたら、ありがとうございます。

于 2013-04-19T06:32:54.513 に答える