androidWebsocketDemo

Introduction: android 使用 websocket 进行长链接的一个简单的 demo,可以用来收发消息或别的操作,里面用到了 autobahn 的 jar 包
More: Author   ReportBugs   
Tags:
Android Websocket-

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 来写

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools