2017-02-20 108 views
0

我正在使用java TCP套接字编写客户端 - 服务器应用程序。控制java套接字的连接

客户端和服务器通过套接字连接。 有时服务器必须在此套接字上为客户端写回复消息。

但是在那一刻,客户端的套接字可以关闭,不使用close()方法,而是关闭客户端的应用程序。 你能告诉我,服务器如何识别这种情况,并避免在这个套接字上写回应消息?

+3

我只是简单地捕获将抛出服务器代码的IOException。确切地说,是 –

+0

。处理错误。不要试图预测未来。 – EJP

回答

0

这是不可能做到可靠。如果你确定连接是开放的,那么当你写信给它时,它可能已经关闭了。可靠的解决方案是尝试写入,并处理可能导致的任何错误。

请注意,如果您确实收到错误指示,则说明有多少数据传到远程对等方。如果您执行了两次写入操作,而第二次写入操作出现错误指示,则在第一次写入操作之前,远程对端很可能会关闭,但本地对等设备在第二次写入操作期间只会注意到它。