如何在PHP中获取此函数socket_recv()的最大长度

时间:2012-09-19 04:42:36

标签: php sockets

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和问候,

1 个答案:

答案 0 :(得分:4)

你应该收到一个循环的回复

$received;
while(socket_recv($sock, $buf, 1024, 0) >= 1)
{
    $received .= $buf;
}