状況: 私の Android サーバーから、単純な String OBJECT をクライアントに送信しています。サーバーでは ObjectOutputStream を使用し、クライアントでは ObjectInputStream を使用します。
サーバーコード:
mOutput.flush();
mOutput.reset();
Object myStr = new String(res); //res is some String
mOutput.writeObject(myStr);
mOutput.flush();
クライアントコード:
Log.v("CLIENT","Attempting to receive results from Server");
obj = objectInputStream.readObject(); //ERROR THROWN HERE
Log.v("CLIENT", "Object received");
res = (String)obj;
問題: クライアント エンドで、readObject() 中に OptionalDataException を取得します。興味深いのは、それを正しく読み取ることができるのは最初だけですが、その後この例外がスローされることです。
ご覧のとおり、オブジェクトを送信する前後に OutPutStream を flush() および reset() します。このエラーがまだ発生するのはなぜですか?