我試圖在PHP上接收數據包,但看起來像socket_recv丟失了一些字節。socket_recv數據包丟失字節PHP
我知道數據包sended OK:
0:13:58.951742 IP 192.168.0.101.1458 > 192.168.0.107.8000: Flags [P.], seq 1:7, ack 1, win 64240, length 6
0x0000: 4500 002e 631d 4000 8006 158c c0a8 0065 [email protected]
0x0010: c0a8 006b 05b2 1f40 6557 d628 4e87 cadd [email protected](N...
0x0020: 5018 faf0 e808 0000 0068 6f6c 6100 P........hola.
和sended的數據是:0000 0068 6f6c 6100
但絲毫:
socket_recv($socket, $buffer, 100, 0);
echo bin2hex($buffer);
echo unpack("H*", $buffer);
即時得到兩個回波的:00686f6c6100
即:
sended: 0000 0068 6f6c 6100
receive: 00 68 6f6c 6100
什麼即時做錯了?
謝謝。
編輯:我發現了這個問題。在代碼上。 謝謝!
你如何發送信息?看起來它正在轉換爲數字,所以零被刪除。 – ethrbunny
即時通訊發送信息與另一臺機器上的C + +套接字。 我不認爲那裏有錯誤,因爲捕獲的包裝來自PHP所在的位置,這意味着數據包到達並完成。 – jsilva
介意分享錯誤和固定代碼? – MatthiasLaug