繁体   English   中英

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

[英]How can I have my netty client detect if my netty server listens on a port (is available)?

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

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

注意:如果客户端尝试连接到未指定的端口或ip,则客户端会抛出我可以处理的异常。 我的问题是,当服务器不在通常应侦听的端口上侦听时,不会引发任何异常。

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

因此,在这种情况下,您可以将ReadTimeoutHandler添加到客户端管道ReadTimeoutHandler 万一您的客户端在一定时间内没有收到来自服务器的任何消息,它将抛出ReadTimeoutException 但是,这可能还不够。 例如,当服务器和客户端之间的连接不是非常活跃时,也可能引发此异常。 因此,在这种情况下,您可能需要实现乒乓处理程序,这将为您的ReadTimeoutHandler告知连接处于活动状态,并且在这种情况下不会引发异常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM