サーバーソケットに接続しようとしています。サーバーソケットは、接続後に大量のデータを送信し、応答を受け取り、さらに大量のデータを送信し、十分であると判断されるまでこのプロセスを繰り返します。
基本的に、最初に接続した後、サーバーからデータを受信します (そして現在受信しています)。このデータを取得し、AJAX を渡す別のスクリプト/プログラムで計算してから、これに戻ってサーバーに応答します。
サーバーからデータを取得してデータを計算すると、ソケットが閉じてしまい、中断したところから続行できなくなるのではないかと心配しています。
php がこのソケットへの接続を維持できるようにするにはどうすればよいでしょうか? 私は fsockopen を調べましたが、それがよくわからず、ここで役立つかどうかもわかりません。何か援助はありますか?
// create socket
//$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
$socket = fsockopen($host, $port, $errno, $errstr, 30);
if (!$socket) {
echo "$errstr ($errno)<br />\n";
}
$_SESSION['socket'] = $socket;
// receive DATA from server
//$result = socket_connect($socket, $host, $port) or die("Could not connect to server\n");
echo "Connected to server";
//$_SESSION['connection'] = $result;\
//STOP, PASS DATA, COMPUTE, SEND RESPONSE
// send response to server
fwrite($socket, $message1) or die("Could not send data to server\n");
// get data server response
$result = fread ($socket, 1024) or die("Could not read server response\n");
echo "<br>Reply From Server :".$result;
// close socket
fclose($socket);