gpt4 book ai didi

java - Netty - 关闭客户端的套接字是否会关闭服务器的 channel

转载 作者:行者123 更新时间:2023-11-30 04:50:31 28 4
gpt4 key购买 nike

我的TCP服务器是使用Netty实现的。我的客户端使用普通 java.net.Socket 连接到该服务器。我使用同一个套接字向服务器发送多个请求。完成所有请求后,客户端调用 socket.close()

我不会在服务器代码中的任何地方关闭 channel 。另外,我在我的服务器上设置了 TCP KEEP_ALIVE。关闭客户端上的套接字会自动关闭服务器上的 channel 还是我必须明确地执行其他操作以及最佳实践是什么?

最佳答案

通常,如果应用程序关闭套接字,其远程对等方也会注意到该关闭。因此,您不需要在双方都调用 close() 。但是,有时,由于网络问题,当远程对等方关闭连接时,您可能不会收到通知。要解决此问题,最好定期发送一些消息,然后您就会更快地检测到意外关闭。

请注意,SO_KEEP_ALIVE 在这里没有多大帮助,因为对于大多数操作系统来说,默认的保持 Activity 时间非常长。

关于java - Netty - 关闭客户端的套接字是否会关闭服务器的 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9945122/

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