我需要从具有打包4byte整数的服务器解包响应,该整数表示响应的长度。我甚至不知道如何麻烦拍摄,因为我无法访问服务器。基本上,前导字节以某种方式关闭。下面给我一个0的字节,然后在不准确的地方失真。
$size_get=fgets($fp, 4);
$size=unpack('N',$size_get);
echo fgets($fp, $size[1]) . PHP_EOL;
答案:
我正在使用套接字连接,并且提供程序要求我将消息的长度打包到消息的开头,作为4字节整数。他们不熟悉php,所以stackoverflow是我的首选。我搜索但没有真正出现。
$message='{login:"username";pass:"password"}';
$length=pack("N",strlen($message));
fwrite($connection, $length.$message);
我正在使用stream_socket_client()。