0

PHPからWebSocketサーバーに接続できるWebSocketクライアント用のPHPクラスを作成しました。無限ループでのみデータを読み取ることができることを除いて、非常にうまく機能します。WebSocket接続では、サーバーまたはクライアントは、必要なときに何度でもデータを送信できます。残念ながら、、、socket_selectおよびsocket_readは、他のソケットからデータが送信されたsocket_recv場合はブロックされません-socket_selectすぐにsocket_read返されsocket_recv、空の文字列が返されます。プロセスを受信するまでスリープさせようとしましたSIGPOLLが、それが原因で無期限にスリープしました。データがすでに受信された後、ソケットでより多くのデータが利用可能であることを知る方法はありますか?

4

1 に答える 1

0

PHPは非同期言語ではないため、これを実行するのに適した言語ではありません。Node.jsまたはそれに類似したものをお勧めします。

PHPとWebSocketについてはよくわからないかもしれませんが、ヒットするまでループすることはできませんSIGPOLLか?

于 2012-05-12T05:58:43.587 に答える