1、使用的库版本:org.java-websocket:Java-WebSocket:1.5.2
2、WebSocket 中,有时候需要保持连接,会采用发送心跳或者发送ping回应pong
博主项目中用的是第二种,Android 项目中作为客户端,服务端会发送ping,要求收到ping后发送pong给服务端。其实框架内部是自动处理了的。具体可看WebSocketAdapter.java中代码,下面贴出关键代码
@Overridepublic void onWebsocketPing(WebSocket conn, Framedata f) {conn.sendFrame(new PongFrame((PingFrame) f));//这里自动帮我们处理了}/*** This default implementation does not do anything. Go ahead and overwrite it.** @see org.java_websocket.WebSocketListener#onWebsocketPong(WebSocket, Framedata)*/@Overridepublic void onWebsocketPong(WebSocket conn, Framedata f) {//To overwrite}
如果收到ping后需要自定义发送发送pong消息回应怎么办?创建WebSocketClient时,重写
onWebsocketPing函数即可,里面编辑发送自己想要发送的消息