赞
踩
首先我们新建一个项目,在build.grade中添加配置
compile ‘com.neovisionaries:nv-websocket-client:2.2’
新建websocket管理类WsManger
public class WsManager {
private volatile static WsManager wsManger;
private WsManager() {
}
public static WsManager getWsManger() {
if (wsManger == null) {
synchronized (WsManager.class) {
if (wsManger == null) {
wsManger = new WsManager();
}
}
}
return wsManger;
}
}
接下来添加连接方法,我们将webSocket的状态分为三种,新建WsStatue枚举类对应起来
public enum WsStatus {
/**
*/
CONNECT_SUCCESS,
/**
*/
CONNECT_FAIL,
/**
*/
CONNECTING;
}
连接方法如下所示:
/**
*/
public void connect() {
//WEB_SOCKET_API 是连接的url地址,
// CONNECT_TIMEOUT是连接的超时时间 这里是 5秒
try {
ws = new WebSocketFactory().createSocket(WEB_SOCKET_API, CONNECT_TIMEOUT)
//设置帧队列最大值为5
.setFrameQueueSize(5)
//设置不允许服务端关闭连接却未发送关闭帧
.setMissingCloseFrameAllowed(false)
//添加回调监听
.addListener(new WsListener())
//异步连接
.connectAsynchronously();
} catch (IOException e) {
e.printStackTrace();
}
setStatus(WsStatus.CONNECTING);
}
调用连接方法后 我们来看连接的回调 也就是WsListener
/**
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。