gpt4 book ai didi

java - 如何让我的 Netty 客户端检测我的 Netty 服务器是否监听端口(可用)?

转载 作者:行者123 更新时间:2023-12-02 02:29:45 30 4
gpt4 key购买 nike

我有一个 Netty 客户端,如果服务器应用程序正在监听,它可以正常工作。但是,如果服务器应用程序未运行,因此未监听端口,则客户端仍会运行,就好像它期望服务器在那里一样。

我想处理服务器没有监听的情况,在这种情况下甚至不发送数据(而是做其他事情,比如告诉用户联系管理员等)。这可能吗?

注意:如果客户端尝试连接到未指定的端口或 IP,我的客户端会抛出我可以处理的异常。我的问题是,当服务器没有监听它通常应该监听的端口时,不会引发异常。

最佳答案

是的。有时您无法检测到服务器已关闭/不再监听端口。

因此,对于这种情况,您可以向客户端管道添加 ReadTimeoutHandler。如果您的客户端在一定时间内没有从服务器收到任何消息,则会抛出 ReadTimeoutException 。然而,这可能还不够。例如,当服务器和客户端之间的连接不是很活跃时,也可能会抛出此异常。因此,对于这种情况,您可能需要实现乒乓处理程序,这将告诉您的 ReadTimeoutHandler 连接处于 Activity 状态,并且在这种情况下不会抛出异常。

关于java - 如何让我的 Netty 客户端检测我的 Netty 服务器是否监听端口(可用)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47329601/

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