0

クライアントからサーバーにバイト配列を送信しています。クライアントのバイト配列は次のとおりです。

0 52 2 0 72 3c 5 80 0 c0 0 8 10 c 22 38 4e 5b 15 1f 29 1e 0 0 0 0 0 0 a 0 b 16 21 2c 37 c
22 38 20 41 62 2 1c 11 1 0 15 4 2c 0 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 30 30
30 30 30 30 31 35 0 9 4d 79 20 50 61 72 73 65 72 

しかし、サーバーが受け取るバイト配列は次のとおりです。

0 52 2 0 72 3c 5 80 0 c0 0 8 10 c 22 38 4e 5b 15 1f 29 1e 0 0 0 0 0 0 a 0 b 16 21 2c 37 c
22 38 20 41 62 2 1c 11 1 0 15 4 2c 0 30 30 30 30 30 30 30 31 30 30 30 30 30 30 30 30 30
30 30 30 30 31 35 0 9 4d 79 20 50 61 72 73 65 0

できるだけ早くお知らせください。

4

1 に答える 1

0

コードを提供していないため、診断が困難ですが、読み取られたバイト数を示す戻り値を無視していると思われます。InputStream.read()

メッセージがネットワークによって分割される可能性はread()十分にあり、すべてを取得するには複数の呼び出しを発行する必要があります。の戻り値に注意しread()、関連する範囲外のバイトは無視する必要があります。

それか、実際にデータを正しく送信していないかのどちらかです。もちろん、おそらくオフバイワンエラーが原因です。繰り返しますが、コードがなければ、なんとも言えません。

于 2013-03-01T13:37:34.793 に答える