ファイルをバイト配列として読み込み、ネットワーク経由でソケット接続経由で送信しようとしています ファイルから読み込んだ後に(値を送信する前に)ソケットからそれを受け取った後のバイトの値...そしてそれは異なっていました!それは間違った値で受信され、私は知らないなぜJavaのソケットストリームで間違ったバイト値を受け取る
サンプルバイト送信する前に: 21、 0、 52、サンプルバイト受け取った後: -8、 -1、 -4を、 -1
私はバイトをwrite(byte [] b)で送信しました。 OutputStreamクラス であり、read(byte [] b、int off、int len)を使用してバイトを受け取りました。 InputStreamクラスの
誰でも助けてくれますか?
を試すことができます。あなたがソースコードを見た場合、誰かがすぐに認識できる間違いをしている可能性があります。 4バイト以上読んでみましたか?あなたが読んだものは、あなたが書いたものとは何の関係もないと思っています。それはまったく別のものですが、私はそれも何か分かりません。 –
vooとedが言ったように、私たちはそれ以上に進む必要があります。できるだけ小さなテストプログラムを作成して問題を再現し、投稿してください。私はちょうど同じメソッドを使用してそれらのバイトを送受信するクイックテストプログラムを作った、そしてそれは完全に動作します。 – Kevin
このネットワーク接続は、異なるオペレーティングシステム間で行われますか?これはエンディアンの問題かもしれませんか? –