Socket连接-RxSocket

GitHub项目地址

功能简介

  • 服务器断开、网络错误等各种方式导致连接失败都会自动一直重连上服务器。
  • 心跳反馈,设置一个时间,每隔一个时间向服务器发送数据,保持在线。

使用方式(Android端)

Android端扫码下载体验

RxSocket.png

1.初始化RxSocket

PS.此项目使用Rx2

//初始化
RxSocket rxSocket = RxSocket.getInstance();

2.重连机制连接

/**
* 重连机制的订阅
* 参数1:服务器地址
* 参数2:端口号
*/
rxSocket.reconnection(HOST, PORT)
        .subscribe(s -> Log.d("server response data", s));

3.心跳重连机制连接(不可动态改变心跳数据)

/**
* 心跳、重连机制的订阅
* 参数1:服务器地址
* 参数2:端口号
* 参数3:心跳发送时间
* 参数4:心跳发送信息
*/
rxSocket.reconnectionAndHeartBeat(HOST, PORT, 5, "---Hello---")
        .subscribe(s -> Log.d("server response data", s));

4.心跳重连机制连接(可动态改变心跳数据)

动态改变心跳数据主要针对于,比如电量cpu内存温度等情况需要动态设置心跳数据。

/**
* 心跳、重连机制的订阅(心跳数据动态改变)
* 参数1:服务器地址
* 参数2:端口号
* 参数3:心跳发送时间
*/
rxSocket.reconnectionAndHeartBeat(HOST, PORT, 5)
        .flatMap(aLong -> mRxSocket.send(mEtHeartText.getText().toString()))
        .compose(mRxSocket.<String>heartBeatChange())
        .subscribe(s -> Log.d("server response data", s));

5.发送数据

mSubscribe = rxSocket.send("hello").subscribe()

6.应用退出或者不需要socket取消订阅

//取消订阅
mSubscribe.dispose();

使用方式(服务端)

使用此软件就不用自己写服务器,先模拟自己测试完毕再跟服务器联调。
服务端模拟软件下载(仅支持Windows系统)
按照图片标注设置就行了。测试是否接收到数据能否发送数据就行了。

网络调试助手.png

意见反馈

如果遇到问题或者好的建议,请反馈到:issue、927195249@qq.com 或者LiangLuDev@gmail.com

如果觉得对你有用的话,star一下吧!


  转载请注明: LuLiangDev Socket连接-RxSocket

 上一篇
MVC MVP MVVM 区别及原理 MVC MVP MVVM 区别及原理
MVC架构Model View Controller,是软件架构中最常见的一种框架,简单来说就是通过controller的控制去操作model层的数据,并且返回给view层展示,具体见下图: 当用户出发事件的时候,view层会发送指令到co
2017-07-04
下一篇 
一键生成MVP基础代码 一键生成MVP基础代码
GitHub项目地址MVP架构 相信大家对于MVP耳熟能详了,理解的直接往下看,如果概念比较模糊,可以网上查一查理解理解,我这边简单的介绍一下,可以配合下图来理解 View层: View层也是视图层,只负责对数据的展示,提供友好的界面与用
2017-07-02
  目录