android 长连接的作用,Android 实现长连接

1.用到的是websocket

implementation "org.java-websocket:Java-WebSocket:1.4.0"

2.思路

初始化服务-----初始化websocket------设置心跳的间隔----启动服务----发送消息------接收消息即可

3.发送的消息即为心跳 让服务器能够判断当前连接上的客户端

// 初始化socket

private void initSocket() throws URISyntaxException, InterruptedException {

if (null == mWebSocketClient) {

mWebSocketClient =new WebSocketClient(new URI(WEBSOCKET_HOST_AND_PORT+mobile) ) {

@Override

//判断是否连接

public void onOpen(ServerHandshake handshakedata) {

isconnection=true;

Log.e("ss", "onOpen: ");

}

@Override

//接收消息

public void onMessage(String message) {

Log.e("onMessage",message);

isconnection=true;

if(!message.equals("OK")){

}

@Override

//连接断开

public void onClose(int code, String reason, boolean remote) {

Log.e("onClose", reason);

isconnection=false;

}

@Override

//连接出错

public void onError(Exception ex) {

isconnection=false;

Log.e("onClose", ex.getMessage());

}

};

mWebSocketClient.connectBlocking();

}

mHandler.postDelayed(heartBeatRunnable, HEART_BEAT_RATE);//开启心跳检测

5.启动服务,启动websocket 定时发送消息 接收消息 判断消息即可 。可以结合AlarmManager 使用

你可能感兴趣的:(android,长连接的作用)