Androidフォンでクライアントを作成し、Windows PCで実行されているサーバーにオブジェクトを送信したい( ObjectDecoderInputStream を使用)が、これらの例外がありました
例外
java.io.StreamCorruptedException: unexpected end of block data
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.access$300(Unknown Source)
at java.io.ObjectInputStream$GetFieldImpl.readFields(Unknown Source)
at java.io.ObjectInputStream.readFields(Unknown Source)
at java.net.InetSocketAddress.readObject(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at org.jboss.netty.handler.codec.serialization.ObjectDecoderInputStream.readObject(ObjectDecoderInputStream.java:115)
at MainActivity.main(MainActivity.java:30)
しかし、電話で CompatibleObjectEncoder/Decoder を使用し、PC で ObjectInputStream を使用すると、問題なく動作します。Android コードを Java コードに変更し、PC でクライアントを実行して、ObjectEncoder とそれに関連する InputStream を使用して自分自身にオブジェクトを送信すると、正常に動作します。
ちなみに、私は netty 3.6.3 final を使用しており、私の Android デバイスは 2.3.7 ジンジャーブレッド (jre 1.5 または 1.6 を使用) で、私の PC は jre 1.7 ですが、問題になる可能性はありますか?