IOexception将Object发送到服务器(套接字连接)

时间:2014-11-23 06:39:52

标签: java sockets null client-server ioexception

这是一项家庭作业,只是为了澄清。

问题是,我有一个客户端和服务器连接,但是我发送了一个类,即" Course",通过套接字连接(TCP)发送到服务器。这是我遇到IOexception问题的地方。

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);
    }

进一步测试显示我可能将变量输出为null,这就是我得到异常的原因。

output = new ObjectOutputStream(clientSocket.getOutputStream());

这是输出的初始化声明,非常困惑,但我想我只是向前迈了一步。

感谢。

1 个答案:

答案 0 :(得分:-1)

handlemessagefromUIclient中收到的对象消息不需要序列化以通过连接发送!