我一直在用Apache Mina開發我的第一個基於TCP/Socket的應用程序,它看起來不錯並且容易做事。我只想在這裏問一個關於米娜的問題。Apache Mina空閒監視器
服務器並處5秒的空閒時間將終止套接字連接,所以我們要定期發送心跳(回聲消息/存活),以確保連接是活的。一系列保活機制。
有,我們只是每5秒鐘,然後盲目地發送回聲/心跳消息的一種方式。我在想,如果我正在發送我的商業信息,並且沒有空閒時間,即5秒鐘,應該有智能/智能的方式「空閒監視器」,我不應該發出心跳信息。如果整個連接空閒,心跳消息將被髮送,這樣我們可以節省帶寬並快速讀取在套接字上寫入的數據。
在此先感謝,對所有誰喜歡這個概念,並儘量給予解決。
謝謝你Umer。我正在尋找這種情況下的最佳解決方案。我概述了KeepAlive過濾器,在IoHandler和自定義線程/定時器上閒置時間以發送回顯消息。現在我認爲,IoHandler的閒置超時時間看起來最好。 – 2012-04-06 10:15:32
@FaisalBasra所以,你的意思是你會選擇在這個答案中的解決方案?不用擔心,我很高興它爲你工作:) – 2012-04-06 10:22:52
是的。我們的第三方服務器強制每30秒發送一次echo/heartbeat消息,我認爲是 NioSocketConnector.getSessionConfig()。setIdleTime(IdleStatus.BOTH_IDLE,3);然後在處理程序的「@Override \t public void sessionIdle(IoSession session,IdleStatus status)」將很好。感謝您的想法和理念。萬分感激。 – 2012-04-09 05:49:35