概述
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(
new
BasicNameValuePair(
"Cookie"
,
"session=abcd"
);
);
WebSocketClient client =
new
WebSocketClient(URI.create(
"wss://irccloud.com"
),
new
WebSocketClient.Handler() {
@Override
public
void
onConnect() {
Log.d(TAG,
"Connected!"
);
}
@Override
public
void
onMessage(String message) {
Log.d(TAG, String.format(
"Got string message! %s"
, message));
}
@Override
public
void
onMessage(
byte
[] data) {
Log.d(TAG, String.format(
"Got binary message! %s"
, toHexString(data));
}
@Override
public
void
onDisconnect(
int
code, String reason) {
Log.d(TAG, String.format(
"Disconnected! Code: %d Reason: %s"
, code, reason));
}
@Override
public
void
onError(Exception error) {
Log.e(TAG,
"Error!"
, error);
}
}, extraHeaders);
client.connect();
|
连通之后就可以发送消息了
1
2
3
4
|
// Later…
client.send(
"hello!"
);
client.send(
new
byte
[] {
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 =
new
HashMap<String,String>();
headersSetup.put(
"Cookie"
,
"session=abc"
);
Stomp stomp =
new
Stomp(
"ws://localhost:8080/wsport"
, headersSetup,
new
ListenerWSNetwork() {
@Override
public
void
onState(
int
state) {
Log.d(
"stomp onSate"
,String.format(
"state:%n"
,state));
}
});
stomp.connect();
//订阅主题
stomp.subscribe(
new
Subscription(
"topic/greetings"
,
new
ListenerSubscription() {
@Override
public
void
onMessage(Map<String, String> headers, String body) {
//接收到消息
}
}));
|
连通好之后就可以发送消息了
1
2
|
stomp.send(
"/websocket/sendToTopic"
, headers,
"hello stomp!"
);
stomp.disconnect();
|
最后
以上就是清脆大米为你收集整理的ANDROID WebSocket+STOMP 1.0版本的全部内容,希望文章能够帮你解决ANDROID WebSocket+STOMP 1.0版本所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复