這是一項家庭作業,以澄清。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());
這對輸出,很迷茫的初始化語句,但我想我只是向前動了一步。
謝謝。
我已經測試了打印對象是否爲null,並且我得到了一個輸出。 – Mjall2 2014-11-23 07:09:36
'sendToServer'裏面有什麼? – 2014-11-23 07:17:54
告訴我們你有'IOException'而不提供堆棧跟蹤是徒勞的。 – EJP 2014-11-23 08:52:27