をストリーミングしようとしていますObjectOutput
が、上記のエラーが発生します。
コード:
private void writelogin(int i, int j, int k, int c4, int l, int m, Socket sock) throws IOException, InterruptedException {
ObjectOutputStream dos = new ObjectOutputStream((OutputStream)sock.getOutputStream());
boolean data = true;
int[] btw = new int[]{i,j, k, c4, l, m};
do {
((ObjectOutput) dos).writeObject(btw);
data=false;
} while (data);
dos.flush();
dos.close();}}
理由はわかりません。
例外は outet via System.out
not viaErrorlog
です。
サーバーが受け取るもの: AC ED (多くの 00 やその他の 16 進数の「乱数のように見える」数字が表示される場合があります)
私のストリームが送信しなければならないもの: 03 96 144 54 79 05
サーバーが受信する必要があるもの: 03 60 90 36 4F 05
16 進数が許可されていることは正しいので、問題ではありません。
ObjectOutputStream
私はと を使用しているので、問題はあります。すべてのブロック自体をArray
使用して配置すると、正常に機能しました。DataOutputStream
dos.writeByte(i);dos.writeByte(j);
何か新しいことを考え出した:私は自分でObjectOutputStream
送信しAC ED 00 05
ます...誰もそれを回避する方法を知っていますか? 私は何も送っていませんが、彼は送っています。
もう問題ではありません。回避する方法を見つけました。経由DataOutputStream
で配列を送信することさえ可能であることがわかったので、これは回避されます。