Java套接字:检查客户端是否能够从服务器接收消息
当我收到flush()
来自服务器的消息时OutputStream
,客户端是否接收到消息(如果在超时之前已断开连接)。我需要以某种方式从服务器端控制这种情况,我必须知道客户端是否能够在发送消息之前接收到消息。怎么做?
-
过去,我通常在单独的线程中使用阻塞读取来读取客户端消息并根据需要分发它们。
如果客户端断开连接,则InputStream.read()操作将返回-1,并且我们将其视为客户端已“断开连接”并且应关闭InputStream的通知。如果连接异常终止,它也可能引发IOException。
然后,您可以测试Socket.isClosed()以验证是否仍然可以编写消息。
-
Java客户端和C ++服务器通过TCP套接字发送和接收
2021-01-30 关注 0 浏览79 1答案
-
套接字Java客户端-Python服务器
2021-01-29 关注 0 浏览92 1答案
-
Java套接字。服务器-客户端通信
2021-01-29 关注 0 浏览112 1答案
-
Java套接字,客户端和服务器
2021-02-01 关注 0 浏览103 1答案
-
是否可以在客户端和服务器端都关闭Java套接字?
2021-01-30 关注 0 浏览119 1答案
-
使用套接字的客户端-服务器-客户端通信
2021-01-30 关注 0 浏览120 1答案
-
如何从服务器获取客户端套接字的确认?
2021-01-30 关注 0 浏览89 1答案
-
带套接字的Java客户端/服务器应用程序?
2021-01-30 关注 0 浏览92 1答案
-
Java TCP服务器无法从多个客户端接收消息
2021-01-29 关注 0 浏览122 1答案
-
Java多线程客户端/服务器-java.net.SocketException:套接字已关闭
2021-01-29 关注 0 浏览164 1答案