ANDROID WebSocket+STOMP 1.0版本

来源:互联网 发布:笨方法学python ex26 编辑:程序博客网 时间:2024/05/22 02:21

Android WebSocket并没有原生的支持,所以那些第三方库如雨后春笋的出现了,那些就不举例了,这里就把一些最简单的开源的东西整合到一起,并且加入了对STOMP的支持,这里命名为cn.fullstacks.websocket,下载地址:http://download.csdn.net/detail/joeysheng/9581442

下面来看看怎么使用

WebSocket

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
List<BasicNameValuePair> extraHeaders = Arrays.asList(
    newBasicNameValuePair("Cookie","session=abcd");
);
 
WebSocketClient client =newWebSocketClient(URI.create("wss://irccloud.com"),newWebSocketClient.Handler() {
    @Override
    publicvoidonConnect() {
        Log.d(TAG,"Connected!");
    }
 
    @Override
    publicvoidonMessage(String message) {
        Log.d(TAG, String.format("Got string message! %s", message));
    }
 
    @Override
    publicvoidonMessage(byte[] data) {
        Log.d(TAG, String.format("Got binary message! %s", toHexString(data));
    }
 
    @Override
    publicvoidonDisconnect(intcode, String reason) {
        Log.d(TAG, String.format("Disconnected! Code: %d Reason: %s", code, reason));
    }
 
    @Override
    publicvoidonError(Exception error) {
        Log.e(TAG,"Error!", error);
    }
}, extraHeaders);
 
client.connect();

连通之后就可以发送消息了

1
2
3
4
// Later…
client.send("hello!");
client.send(newbyte[] {0xDE,0xAD,0xBE,0xEF});
client.disconnect();

STOMP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Map<String,String> headersSetup =newHashMap<String,String>();
headersSetup.put("Cookie","session=abc");
Stomp stomp = new Stomp("ws://localhost:8080/wsport", headersSetup,newListenerWSNetwork() {
    @Override
    publicvoidonState(intstate) {
        Log.d("stomp onSate",String.format("state:%n",state));
    }
});
stomp.connect();
//订阅主题
stomp.subscribe(newSubscription("topic/greetings",newListenerSubscription() {
    @Override
    publicvoidonMessage(Map<String, String> headers, String body) {
        //接收到消息
    }
}));

连通好之后就可以发送消息了

1
2
stomp.send("/websocket/sendToTopic", headers,"hello stomp!");
stomp.disconnect();
0 0
原创粉丝点击