IOexception发送一个对象到服务器(套接字连接)
问题描述:
这是一项家庭作业,以澄清。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());
这对输出,很迷茫的初始化语句,但我想我只是向前动了一步。
谢谢。
答
handlemessagefromUIclient中收到的对象消息不需要被序列化以通过连接发送!
+0
当然,你的意思是它*确实*需要*可串行化* *? – EJP 2014-11-23 08:52:56
我已经测试了打印对象是否为null,并且我得到了一个输出。 – Mjall2 2014-11-23 07:09:36
'sendToServer'里面有什么? – 2014-11-23 07:17:54
告诉我们你有'IOException'而不提供堆栈跟踪是徒劳的。 – EJP 2014-11-23 08:52:27