3
$data = socket_read($this->socket, 5);

    $counter = strlen($data); 
    for($i = 0; $i < $counter; ++$i) { 
        $char = (int)$data[$i]; 
        echo "\nByte $i: $char\n"; 
    }

クライアントはサーバーに 2 バイトを送信し、5 を読み取っても 2 しか受信しません。問題は、バイトが 0 として読み取られていることです。正しく読み取られていません。実際のバイト/バイト配列を読み取るにはどうすればよいですか。

前もって感謝します!

4

1 に答える 1

2

クライアントが 2 バイトしか送信しなかった場合、なぜ 5 バイトが必要なのですか? socket_recv()代わりに使用して、読み取ったバイトの明示的な戻り値を取得してみてください。

于 2013-01-13T19:43:20.760 に答える