Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php套接字服务器:读取所有输入_Php_Sockets - Fatal编程技术网

Php套接字服务器:读取所有输入

Php套接字服务器:读取所有输入,php,sockets,Php,Sockets,我正在试验一个非常简单的php服务器。它接受一个连接,读取发送的内容,写入并退出(我正在从cli运行它)。 代码如下所示。问题在于,每当数据长度超过1024时,它都不会截取数据的结尾,因此它只是挂起。有什么帮助吗?谢谢 ?>因为您上次读取的套接字将挂起等待另一个数据,为什么 因为你的生命永无止境套接字读取函数返回数据,数据将始终为,如果不是套接字读取将等待生成新数据 在调用socket\u read之前,使用socket\u select函数检查数据是否存在,然后您将保护该函数不被挂起,此时您

我正在试验一个非常简单的php服务器。它接受一个连接,读取发送的内容,写入并退出(我正在从cli运行它)。 代码如下所示。问题在于,每当数据长度超过1024时,它都不会截取数据的结尾,因此它只是挂起。有什么帮助吗?谢谢


?>

因为您上次读取的
套接字将挂起等待另一个数据,为什么

因为你的生命永无止境<代码>套接字读取
函数返回数据,数据将始终为,如果不是
套接字读取
将等待生成新数据


在调用
socket\u read
之前,使用
socket\u select
函数检查数据是否存在,然后您将保护该函数不被挂起,此时您可以结束。

因为您上次读取的
socket\u
将挂起等待另一个数据,为什么

因为你的生命永无止境<代码>套接字读取函数返回数据,数据将始终为,如果不是
套接字读取
将等待生成新数据

在调用
socket\u read
之前,使用
socket\u select
函数检查数据是否存在,然后您将保护该函数不被挂起,此时您可以结束。

示例。。。 在调用socket\u read之前,使用socket\u select函数检查数据是否存在,然后您将保护该函数不受挂起的影响,此时您可以结束

请…

示例。。。 在调用socket\u read之前,使用socket\u select函数检查数据是否存在,然后您将保护该函数不受挂起的影响,此时您可以结束

$out= '';
while ($out = socket_read($client, 1024))
{
 echo $out; 
}

echo "ok";

socket_close($client);
socket_close($sock);