最近项目需要用到安卓连接webscoket的相关内容,照例整理记录一下~
1,首先下载所需的jar包,并导入项目中。
下载地址:http://download.csdn.net/detail/chifengxin/6524283
2,以下为安卓客户端代码:
/**
*
* @throws URISyntaxException
* address为连接地址
*/
private void initSocketClient() throws URISyntaxException {
if(mWebSocketClient == null) {
connect();//调用连接
mWebSocketClient = new WebSocketClient(new URI(address)) {
@Override
public void onOpen(ServerHandshake serverHandshake) {
//连接成功
//具体方法
Log.e("111","成功");
}
@Override
public void onMessage(String s) {
//服务端消息
//具体方法
}
@Override
public void onClose(int i, String s, boolean remote) {
//连接断开,remote判定是客户端断开还是服务端断开
//具体方法
Log.e("333","断开");
closeConnect();
}
@Override
public void onError(Exception e) {
//具体方法
Log.e("444","错误");
e.printStackTrace();
}
};
}
}
//连接
private void connect() {
new Thread(){
@Override
public void run() {
mWebSocketClient.connect();
}
}.start();
}
//断开连接
private void closeConnect() {
try {
mWebSocketClient.close();
}
catch(Exception e) {
e.printStackTrace();
}
finally {
mWebSocketClient = null;
}
}
//发送消息
/**
*
*/
private void sendMsg(String msg) {
mWebSocketClient.send(msg);
}
}