我從瀏覽器發送的WebSocket通過圍繞5000字節的圖像數據,但此行是接受總共只有1394個字節:socket_recv沒有收到完整的數據
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'可能給出的任何錯誤。該錯誤信息可能實際上是有用的。通過使用[錯誤抑制運算符](http://php.net/language.operators.errorcontrol),您可以拋棄所有可能有用的錯誤信息。在嘗試對可能出現錯誤的隨機猜測之前,我會先從此開始。 – Sherif
你確定沒有gzip編碼? – hek2mgl
是的數據被切斷了 – user5858