一
,什么是长连接
长连接顾名思义就是长时间持续的连接,想比较http,一次请求响应之后,连接就不在保持,即使当前比较流行的http请求框架,也只能尽量做到缓存这个层面。
二,应用场景
即时通讯、消息推送、实时位置上报、直播等等。。。
三,mina介绍
不知道的先百度百科一下
这是官网
四,用前准备
下载jar包:1、mina-core-2.0.16.jar
五,实现思路。
长连接是耗时操作,所以要不能在程序主线程。要开service,在service 中来建立长连接。
下面我先来封装一些需要的类。
1)创建一个service,用来与远程服务器连接
2)封装一个ConnectionManager类用来提供与服务器连接、断开方法。
3)在service中启动线程,调用ConnectionManager完成连接的创建
4) 构造者模式来对参数进行配置
六,实现类代码
1.ConnectionConfig
package com.ij.minamanager;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.HandlerThread;
import android.os.IBinder;
import android.support.annotation.Nullable;
/**
* ┏┓ ┏┓+ +
* ┏┛┻━━━┛┻┓ + +
* ┃ ┃
* ┃ ━ ┃ ++ + + +
* ████━████ ┃+
* ┃ ┃ +
* ┃ ┻ ┃
* iBoosJie. ┃ ┃ + +
* ┗━┓ ┏━┛
*