【发布时间】:2012-08-08 18:14:10
【问题描述】:
我创建了一个简单的对象,我试图通过 OOS 发送它,但每次我尝试发送我创建的类时都会引发 IOException。但是,如果我尝试通过我知道可序列化的对象发送对象,它不会引发错误。
UserName userName = new UserName();
_out.write("Object is Made! \n");
serverOutput.writeObject(userName);
serverOutput.flush();
这是用户名代码:
public class UserName implements Serializable {
private String _userName;
public UserName(String userName) {
_userName = userName;
}
public UserName(){
_userName = "John Doe";
}
/**
* @return the _userName
*/
public String get_userName() {
return _userName;
}
/**
* @param _userName the _userName to set
*/
public void set_userName(String userName) {
_userName = userName;
}
}
如果我这样做,那么它不会抛出错误:
UserName userName = new UserName();
_out.write("Object is Made! \n");
serverOutput.writeObject(new String());
serverOutput.flush();
我真的必须实现任何方法还是我忘记了什么?
【问题讨论】:
-
IOException 说明了什么?
-
如何检查?打印堆栈跟踪?我从 .jar 可执行文件运行它
-
通过 CMD 运行,未捕获的异常堆栈跟踪将打印到系统控制台。
-
java.net.SocketException:连接被对等方重置:在 java.net.SocketOutputStream.socketWrite(Unknown Source) 处 java.net.SocketOutputStream.socketWrite0(Native Method) 处的套接字写入错误。 .SocketOutputStream.write(Unknown Source) at java.io.ObjectOutputStream$BlockDataOutputStream.drain(Unknown Source) at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(Unknown Source) at java.io.ObjectOutputStream.writeNonProxyDesc(Unknown Source)跨度>
-
在 java.io.ObjectOutputStream.writeClassDesc(Unknown Source) at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) at java.io.ObjectOutputStream.writeObject0(Unknown Source) at java.io.ObjectOutputStream .writeFatalException(Unknown Source) at java.io.ObjectOutputStream.writeObject(Unknown Source) at Code.Client.main(Client.java:83)
标签: java ioexception objectoutputstream