PHPサーバからノードサーバにデータを送る必要があります。成功した私のノードサーバおよび出力するにメッセージを送信再度書き込む前にsocket_writeが完了するのを待つ
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$result = socket_connect($socket, '127.0.0.1', '3000');
socket_write($socket, "Hello World", 11);
socket_close($socket);
このコードを実行:
は、ここで私はこれまでPHP側で持っているものの簡易版です。
しかし、私はソケットに複数のメッセージを送り返す必要があります。私は実際に数千の回答を送る必要があります。私はそうのようなループ内socket_write()
関数を呼び出すした場合でも:
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$result = socket_connect($socket, '127.0.0.1', '3000');
for($i=0;$i<1000;$i++){
socket_write($socket, "Hello World", 11);
}
socket_close($socket);
一緒にすべてのデータを追加し、スクリプトの終了時に一度にそれを送信するようです。私はリアルタイムでデータを送り返す必要があります。 PHPでこれを行う方法はありますか?
あなたのソケットは成功した回答を送信しますか?リソースが利用可能であることを確認する方法送信し、正常にメッセージを取り、再度送信します。なぜソケットを使用して答えが必要ないのですか?静的ファイルとして扱います。 – dsgdfg
@dsgdfgノードサーバーがデータを受信したという確認を受け取る必要はありません。ソケットへの接続が失敗した場合、私は例外をスローする –
@dsgdfg Nodeサーバに成功応答を返さなければならないと思いますか?多分、PHPにループの次の繰り返しに行くのが嬉しいという私の唯一の方法でしょう。 –