UNIXローカルソケットを介してサーバーと通信するphpスクリプトを作成しています。1)接続2)socket_write()を使用してメッセージを送信(時間の90%が小さいサイズのブロック、10%が大きいサイズ)3)答えを得る4)接続を閉じる
これで、 phpマニュアル「jeanat briskula dot si 03-Feb-201103:00」からのコメントで提案されているような単純なsocket_write()実装があります。
ブロッキングモードでは問題なく動作するようですが、socket_writeのタイムアウトを実装したいので、socket_write()が呼び出されたときに非ブロッキングモードを使用する必要があると思います。
非ブロッキングよりもブロッキングモードの利点はありますか?タイムアウトを実現する理由はありますか?それらを正しく実現する方法は?例はありますか?
whileサークルに書き込もうとしましたが、=== FALSEになりました。おそらく、socket_write()が呼び出される前に毎回socket_select()を実行する必要がありますか?
ps。この質問は、サーバーから回答を読み取るときのsocket_read()でも実際に発生します