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 使用
网友评论