내 프로젝트는 서버 측과 클라이언트 측의 두 부분으로 구성됩니다. 내가 서버 측을 시작하면 모든 것이 OK이지만, 나는 때때로 클라이언트 측을 시작할 때이 오류를 얻을 :이 오류가 더 자주 발생 다른 PC에서이 프로젝트를 실행하려고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)
. 자바 문서에서 나는이 비트를 발견했다.
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()'호출로 무엇을 달성하려고합니까? –
저는 새로운 객체가 매번 생성된다는 것을 알고 있습니다. 그래서 이론에서는 필요하지 않습니다. 그러나 재설정하지 않으면 오래된 데이터를 보냅니다. – master9999