1

PHP でクライアント ソケットを実装したいと考えています。

ソケット タイプは TCP / IP で、全二重チャネルを実行します。クライアントは毎秒サーバーにリクエストを送信する必要があるため、ループで実行する必要があります。

リクエストごとにソケットを再作成して接続する必要がありますか? それとも、ループで外部にソケットを作成して接続し、通信を管理した方が良いのでしょうか?

<?php
   while (true) {
      //management of the pid here
      //create the socket
      $socket = socket_create (AF_INET, SOCK_STREAM, 0);
      //send the request
      $sent = socket_write ($socket, <query>, <length>);
      //get the answer
      $response = socket_read ($socket, 1024);
      //close the socket
      socket_shutdown ($socket, 2);
      usleep (500);/ / wait remote host
      socket_close ($socket);
      sleep (1);
   }
?>

ループの外側のソケット接続と内側のリクエストの管理を既に実装しています。

ただし、接続は数分間アクティブなままで、エンドポイント接続でエラーを返します。

この状況で socket_bind を使用する必要がありますか?

ありがとうございました。

4

2 に答える 2

0

ソケットの作成は多くのリソースを消費します。複数のポイントに接続していないため、ループの外にソケットを作成する必要があります。

于 2013-08-30T08:06:31.163 に答える