如果我的netty服务器侦听端口(可用),我如何让我的netty客户端检测到?

时间:2017-11-16 12:23:38

标签: java netty

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

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

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

1 个答案:

答案 0 :(得分:1)

叶氏。有时您无法检测到服务器已关闭/未在端口上侦听。

因此,对于这种情况,您可以添加到客户端管道ss <- read.table(text = " plot ID tree 1 10000503711 LV 2 1000057448111 LV 3 1000057448111 HB 4 1000057448111 KU 5 10000603711 LV 6 1000063448111 TM 7 1000063448111 KS", header = TRUE, colClasses = c("numeric", "character", "character")) ss[ss$ID %in% unique(ss[ss$tree %in% c("HB", "KU"), "ID"]), ] plot ID tree 2 2 1000057448111 LV 3 3 1000057448111 HB 4 4 1000057448111 KU 。如果您的客户在特定时间段内没有从服务器收到任何消息,则会抛出ReadTimeoutHandler。 但是,这可能还不够。例如,当服务器和客户端之间的连接不是非常活跃时,也可能抛出此异常。因此,对于这种情况,您可能需要实现乒乓处理程序,这将告诉您ReadTimeoutException该连接处于活动状态,并且在这种情况下不会抛出异常。