我的項目由2部分組成:服務器端和客戶端。當我開始服務器端一切正常,但是當我開始客戶端不時我得到這個錯誤:Java ObjectOutputStream重置錯誤
java.io.IOException: stream active
at java.io.ObjectOutputStream.reset(Unknown Source)
at client.side.TcpConnection.sendUpdatedVersion(TcpConnection.java:77)
at client.side.Main.sendCharacter(Main.java:167)
at client.side.Main.start(Main.java:121)
at client.side.Main.main(Main.java:60)
當我試圖運行這個錯誤發生更加頻繁的其他電腦這個項目。在Java文檔中,我發現了這一點。
Reset may not be called while objects are being serialized. If called inappropriately, an IOException is thrown.
而這正是引發錯誤
void sendUpdatedVersion(CharacterControlData data) {
try {
ServerMessage msg = new ServerMessage(SEND_MAIN_CHARACTER);
msg.setCharacterData(data);
oos.writeObject(msg);
oos.reset();
} catch (IOException e) {
e.printStackTrace();
}
}
我試圖把沖水(),但沒有幫助的功能。有任何想法嗎?此外,在服務器端沒有錯誤。
你想通過reset()調用實現什麼功能? – 2014-11-23 13:26:52
我知道每次創建新對象時,理論上我不需要它,但不知何故,如果我不重置它會發送舊數據。 – master9999 2014-11-23 13:29:00