客户端和服务器之间的连接未结束

发布于 2024-12-22 09:06:08 字数 244 浏览 0 评论 0原文

我有一个Java服务器。客户端通过 TCP 连接到服务器。这是我的问题的情况: 1- 2 个客户端连接到服务器(客户端 a 和客户端 b) 2-客户端与服务器通信 3-“客户端a”与互联网断开连接 4-客户端a的socket连接没有断开 5-当“客户端a”再次连接到互联网时,“客户端a”可以在不连接到服务器的情况下向服务器发送消息。

我预计当“客户端 a”与互联网断开连接时,服务器和“客户端 a”之间的连接就会结束。

对此您有什么看法吗?

I have a Java server. Clients connect to server via TCP. Here is the case for my problem:
1- 2 clients connect to server(client a & client b)
2- clients communicate with server
3- "client a" disconnects from internet
4- The socket connection of client a doesn't disconnects
5- when "client a" connects to the internet again, "client a" can send messages to the server without connecting to the server.

I expect the connection between server and "client a" ends when "client a" disconnects from internet.

Do you have any opinions about this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(2

紫轩蝶泪 2024-12-29 09:06:08

拥有意见和拥有解决方案是两件不同的事情:-)

我建议在服务器端的连接中添加保活超时。每隔(几秒?几分钟?)发送一次保活,如果没有保活响应,则终止服务器端的连接。

Well having opinions and having solutions are two different things :-)

I would recommend adding a keepalive time out to your connection on the server side. Send a keep alive every (few seconds? few minutes?) and if there isn't a keepalive response, kill the connection on the server side.

羞稚 2024-12-29 09:06:08

当机器与 Internet 断开连接时,它无法通过 Internet 发送任何数据。这包括发送关闭或中止连接所需的数据包。因此,如果连接断开,客户端将无法关闭连接。如果需要这样做,服务器就必须这样做。如果您需要这种能力,应用程序协议必须提供它。

When a machine disconnects from the Internet, it can't send any data over the Internet. That includes sending the packets necessary to close or abort a connection. So there is no way the client can close the connection if it gets disconnected. If this needs to be done, the server has to do it. If you need this ability, the application protocol has to provide it.

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