5
if(socket_recv ( $sock , $buf , 2045, MSG_WAITALL ) === FALSE)
{
    $errorcode = socket_last_error();
    $errormsg = socket_strerror($errorcode);        
    die("Could not receive data: [$errorcode] $errormsg <br>");
}
echo $buf;

从上面的函数它没有显示完整的消息,所以我试图像这样获得变量 $buf 的最大长度

socket_recv ( $sock , $buf , strlen($buf), MSG_WAITALL )

但不工作。请帮帮我

thx 和问候,

4

1 回答 1

4

您应该收到带有循环的响应

$received;
while(socket_recv($sock, $buf, 1024, 0) >= 1)
{
    $received .= $buf;
}
于 2012-09-19T10:16:18.240 回答