原理
Socket连接是封装与TCP协议的一种连接形式,可以在C/S两端建立起双向传输管道pipe使得可以进行流传输,是一种长连接机制
推送作为一个具有一定市场的APP是非常需要的,实现推送也有非常多的形式 这里我们讨论使用socket来实现App推送,从上面的socket介绍来看
他符合作为推送所需要的几个要素:实时,信息交互,轻量快捷
本实例主要是通过在JAVAEE后端建立服务器socket与app上的包含客户socket的service进程通过socket交互来实现推送
核心功能:
1.服务端推送的信息 能唤起app的通知栏信息 并能跳转到相应的url
2.客户端每隔一定时间发送心跳包 若服务器没有响应则重新建立socket连接
客户端
推送核心实现
新建自定义Service并在配置清单中单开进程
下面这段为核心实现代码
so = new Socket(HOST, PORT);
mReadThread = new ClientThread();
mReadThread.start();
class ClientThread extends Thread{
//该线程所处理的Socket对应的输入流
BufferedReader br = null;
private boolean isStart = true;
@Override
public void run() {
if (null != so) {
try {
String content = null;
br =