當前位置:編程學習大全網 - 網站源碼 - netty 服務端怎麽監測鏈接

netty 服務端怎麽監測鏈接

首先要有心跳包檢測的類 設定多少時間沒有在通道裏面讀取到信息則判定為斷線,把通道清除掉。

使用Netty實現心跳檢測:

新建Java工程,並導入netty使用的jar包,最好將源碼包也放在本工程下,便於了解netty的源碼實現。

可以從netty自帶的example中復制壹個例子過來,在此基礎上進行修改。

在此基礎上對代碼進行改造。打開EchoServer.java,添加空閑檢測類。

編寫心跳檢測處理類。並將此類添加到pinpline的handler裏面。

改造完了服務端,需要對客戶端內容改造壹下。啟動客戶端後,先發壹個“hello”消息,然後等候服務端心跳信息“ping”,收到心跳後,回復心跳響應“ok”。心跳消息可以根據需要進行定義。修改的類為EchoClientHandler。

為方便查看可以將netty的日誌打開。

即:將此句p.addLast(new LoggingHandler(LogLevel.INFO));前面的註釋去掉,執行測試壹下。查看服務端,可以看到心跳包和心跳響應。

將客戶端回復心跳的內容刪除,再執行查看結果。此時可以看到服務端在30秒內沒有收到心跳,認為客戶端連接出現問題,將此連接關閉。

  • 上一篇:招聯好期貸只申請了額度沒有借錢會查詢征信嗎?今天手賤想試試看支付
  • 下一篇:jquery validate remote異步驗證
  • copyright 2024編程學習大全網