2014-11-23 5 views
-1

이것은 숙제 지정하기위한 것입니다.IOexception 서버에 객체 보내기 (소켓 연결)

문제는 클라이언트와 서버 연결이 있지만 소켓 연결 (TCP)을 통해 서버에 연결하여 "과정"이라는 수업을 보내고 있다는 것입니다. 이것은 IO 예외에 대한 문제가 발생하는 곳입니다.

public void handleMessageFromClientUI(Object message) 
    { 
    try 
    { 
     ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("message.ser")); 

     sendToServer(out); 
    } 
    catch(IOException e) 
    { 
     clientUI.display 
     ("Could not send message" + e.getCause()); 
    quit(); 
    } 
    } 

는 제가 연재 한 코스 객체를 보내고있다,하지만 난 널 (null) 인 것으로 예외의 원인을 점점 계속. 단순함을 목적으로하고 다른 클래스와 코드가 많기 때문에이 스 니펫을 여기에 넣었습니다. 그러나 필요한 경우 추가 할 수 있습니다. 올바른 방향으로 나를 가리켜 주시면 도움이 될 것입니다!

내가 요청 sendToServer()를 추가 한

final public void sendToServer(Object msg) throws IOException { 

     if (clientSocket == null || output == null){ 

      throw new SocketException("socket does not exist");} 

     output.writeObject(msg); 
    } 

또한 시험 I는 I는 예외가 왜 널로서 가변 출력을 가질 수 있음을 보여준다.

출력에 대한 초기화 구문입니다. 매우 혼란 스럽지만 앞으로 나아갈 단계라고 생각합니다.

감사합니다.

+0

개체를 인쇄하여 null인지 여부를 테스트 한 결과 출력물을 얻었습니다. – Mjall2

+0

'sendToServer'의 내용은 무엇입니까? –

+0

스택 트레이스를 제공하지 않고'IOException'을 가지고 있다고 알려주면 쓸모가 없습니다. – EJP

답변

-1

핸들 메시지에서 수신 한 객체 메시지는 연결을 통해 전송하기 위해 직렬화 할 필요가 없었습니다!

+0

분명히 * * *가 * Serializable * 일 필요가 있음을 의미합니까? – EJP