情况:从我的 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。为什么还会出现这个错误?