我正在尝试连接到服务器套接字,它将在连接后向我发送一堆数据,从我那里获取响应,然后发送更多数据,重复这个过程直到它确定它已经足够了。
所以基本上,在第一次连接之后,我们将(并且目前正在)从服务器接收数据。我们想要获取这些数据,在另一个通过 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);