我使用autobahn android web socket库来构建我的Web套接字客户端应用程序。 为了使Web套接字连接保持很长时间,我需要定期从客户端发送ping消息。
如何使用auotbahn android web socket库?
答案 0 :(得分:0)
AutobahnAndroid的WebSocketWriter supports客户端pong消息,以及AutobahnPython claims以下内容:
通常不需要对Pings / Pongs进行显式处理 - AutobahnPython将在幕后做正确的事。
但是,在执行简单的聊天客户端 - 服务器设置时,我发现没有这样的ping / pong心跳消息。
根据我的阅读,从文档和来源都不清楚启用隐式Autobahn *心跳的全部要求。
我的个人解决方案涉及在 onConnection 期间从服务器发出ping以及相应的 onMesssage ,以及类似于以下客户端代码 onMessage 的内容:
if (payload.equals("ping from the server"))) {
handler.postDelayed(new Runnable() {
@Override
public void run() {
myWebSocket.sendTextMessage("pong from the client");
}
}, 1000L);
}
...在服务器收到ping后1秒钟安排客户端发送的pong响应。
答案 1 :(得分:0)
您可以使用我刚刚提交的提款请求
https://github.com/tavendo/AutobahnAndroid/pull/67
添加了sendPingMessage(byte [] payload)和onPongMessage(byte [] payl)。