簡體   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