【发布时间】:2015-10-11 19:05:59
【问题描述】:
我正在通过 Websocket 从浏览器发送大约 5000 字节的图像数据,但这条线仅接收 1394 字节:
while ($bytes = socket_recv($socket, $r_data, 4000, MSG_DONTWAIT)) {
$data .= $r_data;
}
这是在正确接收到握手之后。 json 数据在 1394 字节后被截断。 可能是什么原因?
在浏览器界面中,它以 JSON 格式发送图像:
websocket.send(JSON.stringify(request));
浏览器界面很好,因为它可以与我测试过的其他 PHP websocket 免费程序一起使用。
这是完整的source code。
【问题讨论】:
-
好吧,找出问题所在的良好开端是停止忽略
socket_recv可能给出的任何错误。该错误信息实际上可能很有用。通过使用error suppression operator,您将丢弃所有可能有用的错误信息。在尝试随机猜测可能出现的问题之前,我会先从这个开始。 -
你确定没有gzip编码发生吗?
-
是的,数据被直接切断了
-
@user5858 什么意思?
-
在发送的大约 5000 个字节中仅读取 1394 个字节