【发布时间】:2010-10-13 20:06:45
【问题描述】:
我正在用 Java 编写一个网络应用程序,以在客户端和服务器之间进行通信,我使用序列化对象来表示数据/命令并通过对象输出/输入流发送它们。
我在干净地关闭连接时遇到问题,我认为我错过了一些我不太了解的基本知识,我以前从未使用过带有序列化的套接字。
我尝试关闭连接(先关闭客户端,先关闭服务器)的任何命令都会引发ConnectionReset 异常。我无法捕获此异常,因为客户端在另一个线程中运行到程序的其余部分不断侦听消息,必须这样做,因为在 Java 中 socket.read() 是一种阻塞方法。
关闭我用来发送对象的套接字的正确方法是什么?
【问题讨论】:
-
也许this tutorial from Javaworld可以帮助你。
标签: java networking sockets serialization