java调用writeObject方法竟然出现异常
程序中调用了writeObject方法出现"java.net.SocketException: Software caused connection abort: socket write error"异常。代码如下:
roos = new ObjectOutputStream(readSocket.getOutputStream());
roos.writeObject(m);
m是一个自定义类的对象,可序列化(实现了Serializable接口)。在获得roos之前我用readSocket的isConnected方法测了下,连接正常,而且接收方接收的类型与m相同。就是一到这里,就出现上面的异常,之后再使用readSocket时就出现"java.net.SocketException: Socket is not connected"异常。唉,郁闷啊,各位大虾帮帮忙吧。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
说的也是,就两句代码谁能看出问题所在啊。可是项目中关联代码太多了,我再看看吧
问题解决了,原来问题出在服务器端。在客户端刚执行完代码
roos.writeObject(m)之后,服务器那边使用了一个readObject方法读到了这个对象,为了跟踪对象的状态我之前在后面写了一句代码,显示对象中的一个成员(同样是一个对象),然而此对象为null,导致服务器端出现NullPointerException,进而导致服务器和客户端之间的连接出现问题,所以客户端才有了"
socket write error
",但实际问题却出在了服务器端。