java调用writeObject方法竟然出现异常

发布于 2021-11-06 18:54:11 字数 488 浏览 857 评论 2

    程序中调用了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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

牵你的手,一向走下去 2021-11-10 04:57:08

说的也是,就两句代码谁能看出问题所在啊。可是项目中关联代码太多了,我再看看吧

无法言说的痛 2021-11-09 09:47:14

问题解决了,原来问题出在服务器端。在客户端刚执行完代码
roos.writeObject(m)之后,服务器那边使用了一个readObject方法读到了这个对象,为了跟踪对象的状态我之前在后面写了一句代码,显示对象中的一个成员(同样是一个对象),然而此对象为null,导致服务器端出现NullPointerException,进而导致服务器和客户端之间的连接出现问题,所以客户端才有了"
socket write error
",但实际问题却出在了服务器端。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文