우선, 나는 이것이 중복 질문이라는 것을 알고 있지만 다른 대답에서는 이해할 수 없습니다!
그래서 저는 java 소켓을 사용하여 클라이언트 - 서버 연결을하고 있습니다. Listener라는 클래스가 있는데, 새 클라이언트를 얻을 때마다 클라이언트 소켓에 할당합니다. 그런 다음 클라이언트에서 반복적으로 듣고 있는데 클라이언트에서 응답을 받으면 인터페이스 "클래스"의 메소드로 보냅니다 (이 마지막 질문은이 질문과 관련이 없지만 아무도 필요하지 않습니다.
내 코드)에 대해 질문 : "S"는 소켓이고, '산부인과'Java - 오류 StreamCorruptedException : 유효하지 않은 형식 코드 : AC
while(!s.isClosed()){
ob = new ObjectInputStream(s.getInputStream());
try {
handler.objectReceived(ob.readObject(), instance);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
는 ObjectOutputStream에, 그리고 "핸들러 것은"위에서 언급 한 인터페이스입니다. 그러나, 그것을 사용하여 잠시 후 java.io.StreamCorruptedException 오류가 발생합니다 : handler.objectReceived(ob.readObject(), instance);
라인에 잘못된 유형 코드 : AC ...
어떤 도움 ??
참고 :이 질문을 중복으로 표시하지 마십시오. 나는 다른 대답을 이해할 수 없다. 나는 그것을 분명히 설명 할 누군가를 요구하고있다. 이후, 개조자는 원하는 경우 삭제할 수 있습니다. 나는이 오류로 인해 정말로 짜증이났다!
또한 소켓을 통해 객체를 보내는 코드를 게시 할 수 있습니까 – AntJavaDev
여기에 신비가 없습니다. 당신은 복제물의 제 대답이하지 말라고 정확히 말하고 있습니다. 루프 외부에'ObjectInputStream'를 작성합니다. NB'isClosed()'는 적절한 종료 조건이 아닙니다. 올바른 조건은'EOFException'입니다. – EJP
루프 외부에 넣었습니다. 그래도 여전히 오류가 발생합니다 ... – JHacking