새로운 클라이언트 소켓이 조인 될 때마다 서버가 모든 클라이언트를 모든 클라이언트로 보내는 클라이언트 - 서버 응용 프로그램이 있습니다. 문제는 새로운 클라이언트가 조인 할 때 올바른 목록을 얻지 만 오래된 클라이언트는 자신이 가입 할 때 가지고 있던 오래된 목록을 얻는다는 것입니다. 그들은 일종의 같은 물체를 입력 스트림에서 매번 가져옵니다.자바 입력 스트림 버퍼 객체?
어떻게 든 입력 스트림을 플러시 할 수 있습니까?
객체를 읽기 :
while((inObject = in.readObject()) != null) {
...
}
개체를 보내기 :
out.writeObject(object);
고객이 보내는 메일을 받고 있습니다. 그들은 "입력 스트림에서 동일한 객체를 가져 오지"않습니다. 그러나 올바른 데이터를 전송하지 않아서 목록을 보내고있는 것입니다. –
재설정 작업을 수행했습니다 :) –
ObjectOutputStream.reset()이 아래에 나와있는 답변이지만, BTW 루프 종료 조건이 잘못된 것 같습니다. ObjectInputStream.readObject()는 null을 작성한 경우에만 null을 반환합니다. EOS에서는 EOFException을 발생시킵니다. – EJP