androidWebsocketDemo
简介:android 使用 websocket 进行长链接的一个简单的 demo,可以用来收发消息或别的操作,里面用到了 autobahn 的 jar 包
android 使用 websocket 进行长链接的一个简单的 demo,可以用来收发消息或别的操作,里面用到了 autobahn 的 jar 包
基本操作都在 WebSocketService 这个类中,websocketHost 要填写自己服务器的,ws 开头的 url,代码中我有说
webSocketConnection.connect(websocketHost,new WebSocketHandler(){
//websocket 启动时候的回调
@Override
public void onOpen() {
Log.d(TAG,"open");
}
//websocket 接收到消息后的回调
@Override
public void onTextMessage(String payload) {
Log.d(TAG, "payload = " + payload);
}
//websocket 关闭时候的回调
@Override
public void onClose(int code, String reason) {
Log.d(TAG, "code = " + code + " reason = " + reason);
switch (code) {
case 1:
break;
case 2:
break;
case 3://手动断开连接
break;
case 4:
break;
case 5://网络断开连接
break;
}
}
} , options);
发送消息时的注意
json 进行数据传输的,里面有个 cmd 字段,是用来区别消息类型,我们传给后台的时候也要用 json。具体还是要看手机端和后台商量决定,这里就不写出来了。
心跳包
如果想保持 websocket 连接的稳定性,建议加上心跳包。可以每隔一段时间就发个简单的字符串给后台,让后台知道你在线,可以用 timetask 配合 CountDownTimer 来写