PHP:Sockets,socket_read()仅返回第一个字符

PHP:Sockets,socket_read()仅返回第一个字符,php,sockets,network-programming,Php,Sockets,Network Programming,我是套接字编程新手,我刚刚开始使用多用户服务器脚本。如果我的回答是 A、某物或其它 套接字_只读给我“A” 你知道为什么会这样吗 if (false === ($input = socket_read($clients[$i], 2048, PHP_BINARY_READ))) { 来源:如果我没有弄错的话,socket\u read only读取当前可用的数据,并且可能您的PHP运行速度比您的服务器socket快(并且正在尝试在数据可用之前读取数据) 您应该做的是在消息中添加某种类型的头

我是套接字编程新手,我刚刚开始使用多用户服务器脚本。如果我的回答是

A、某物或其它

套接字_只读给我“A”

你知道为什么会这样吗

  if (false === ($input = socket_read($clients[$i], 2048, PHP_BINARY_READ))) {

来源:

如果我没有弄错的话,socket\u read only读取当前可用的数据,并且可能您的PHP运行速度比您的服务器socket快(并且正在尝试在数据可用之前读取数据)

您应该做的是在消息中添加某种类型的头,它指示预期消息的长度。然后,继续“socket\u read”直到读取了那么多字节