gpt4 book ai didi

java - 如何检查当前是否在 Java 中连接了 Socket?

转载 作者:IT老高 更新时间:2023-10-28 20:22:32 25 4
gpt4 key购买 nike

我正在尝试找出 Java TCP 套接字是否当前已连接,以下内容似乎只是告诉我套接字是否在某个时间点已连接 - 而不是它当前是否仍处于连接状态.

socket.isConnected();

任何帮助表示赞赏,谢谢。

最佳答案

假设您对协议(protocol)有一定程度的控制,我非常喜欢发送心跳来验证连接是否处于 Activity 状态。它已被证明是最防故障的方法,并且通常会在连接中断时给您最快的通知。

TCP keepalives 可以工作,但是如果远程主机突然断电怎么办? TCP 可能需要很长时间才能超时。另一方面,如果您的应用程序中有逻辑期望每 x 秒收到一次心跳回复,那么当您第一次没有收到它们时,您就知道连接不再有效,无论是由于网络还是远程服务器的问题.

Do I need to heartbeat to keep a TCP connection open?更多讨论。

关于java - 如何检查当前是否在 Java 中连接了 Socket?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1390024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com