Socket连接-RxSocket

Posted LuLiangDev

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Socket连接-RxSocket相关的知识,希望对你有一定的参考价值。

功能简介

  • 服务器断开、网络错误等各种方式导致连接失败都会自动一直重连上服务器。

  • 心跳反馈,设置一个时间,每隔一个时间向服务器发送数据,保持在线。

使用方式(android端)

1.初始化RxSocket

PS.此项目使用Rx2

 
   
   
 
  1. //初始化

  2. RxSocket rxSocket = RxSocket.getInstance();

2.重连机制连接

 
   
   
 
  1. /**

  2. * 重连机制的订阅

  3. * 参数2:端口号

  4. */

  5. rxSocket.reconnection(HOST, PORT)

  6.        .subscribe(s -> Log.d("server response data", s));

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

 
   
   
 
  1. /**

  2. * 心跳、重连机制的订阅

  3. * 参数2:端口号

  4. * 参数3:心跳发送时间

  5. * 参数4:心跳发送信息

  6. */

  7. rxSocket.reconnectionAndHeartBeat(HOST, PORT, 5, "---Hello---")

  8.        .subscribe(s -> Log.d("server response data", s));

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

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

 
   
   
 
  1. /**

  2. * 心跳、重连机制的订阅(心跳数据动态改变)

  3. * 参数2:端口号

  4. * 参数3:心跳发送时间

  5. */

  6. rxSocket.reconnectionAndHeartBeat(HOST, PORT, 5)

  7.        .flatMap(aLong -> mRxSocket.send(mEtHeartText.getText().toString()))

  8.        .compose(mRxSocket.<String>heartBeatChange())

  9.        .subscribe(s -> Log.d("server response data", s));

5.发送数据

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

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

 
   
   
 
  1. //取消订阅

  2. mSubscribe.dispose();

使用方式(服务端)

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

意见反馈

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

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


以上是关于Socket连接-RxSocket的主要内容,如果未能解决你的问题,请参考以下文章

golang代码片段(摘抄)

这些角度电子邮件指令代码片段如何连接

使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段

通过 c# 与 socket.io 服务器通信

使用 mxml 脚本代码连接 ActionScript 类(Socket)

socket网络编程:加上连接循环(代码完善)