我正在使用autobahn android web socket庫來構建我的web套接字客戶端應用程序。 爲了讓網絡套接字連接長時間保持活躍狀態,我需要定期從客戶端發送ping消息。發送來自autobahn的ping消息android websocket客戶端
我該怎麼用auotbahn android web socket庫做到這一點?
我正在使用autobahn android web socket庫來構建我的web套接字客戶端應用程序。 爲了讓網絡套接字連接長時間保持活躍狀態,我需要定期從客戶端發送ping消息。發送來自autobahn的ping消息android websocket客戶端
我該怎麼用auotbahn android web socket庫做到這一點?
AutobahnAndroid的WebSocketWriter supports客戶乒乓球消息,並AutobahnPython claims如下:
坪/ Pongs明確的處理是不必要的正常 - AutobahnPython會做的引擎蓋下是正確的。
但是,在執行一個簡單的聊天客戶端 - 服務器設置期間,我看不到這樣的ping/pong心跳消息。
從我已閱讀的文檔和源文件中,不清楚啓用隱式Autobahn *心跳的全部要求。
我個人的解決方案涉及在的OnConnection和適當onMesssage,以及類似於下面的客戶端代碼的onMessage發行的東西從服務器的ping:
if (payload.equals("ping from the server"))) {
handler.postDelayed(new Runnable() {
@Override
public void run() {
myWebSocket.sendTextMessage("pong from the client");
}
}, 1000L);
}
...這一個時間表pong響應由客戶端發送,在從服務器接收到ping後1秒。
您可以使用我剛剛提交
https://github.com/tavendo/AutobahnAndroid/pull/67
拉入請求這增加sendPingMessage(字節[]有效載荷)和onPongMessage(字節[] PAYL)。