2014-11-23 118 views
-1

这是一项家庭作业,以澄清。IOexception发送一个对象到服务器(套接字连接)

问题是,我有一个客户端和服务器连接,但是我正在通过套接字连接(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); 
    } 

进一步的测试表明,我可以具有可变输出为空这就是为什么我得到的异常。

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

这对输出,很迷茫的初始化语句,但我想我只是向前动了一步。

谢谢。

+0

我已经测试了打印对象是否为null,并且我得到了一个输出。 – Mjall2 2014-11-23 07:09:36

+0

'sendToServer'里面有什么? – 2014-11-23 07:17:54

+0

告诉我们你有'IOException'而不提供堆栈跟踪是徒劳的。 – EJP 2014-11-23 08:52:27

回答

-1

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

+0

当然,你的意思是它*确实*需要*可串行化* *? – EJP 2014-11-23 08:52:56

相关问题