【Android】Socket鏈接-RxSocket

GitHub項目地址

功能簡介

  • 服務器斷開、網絡錯誤等各類方式致使鏈接失敗都會自動一直重連上服務器。
  • 心跳反饋,設置一個時間,每隔一個時間向服務器發送數據,保持在線。

使用方式(Android端)

Android端掃碼下載體驗java

RxSocket.png

1.初始化RxSocket

PS.此項目使用Rx2git

//初始化
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內存溫度等狀況須要動態設置心跳數據。github

/** * 心跳、重連機制的訂閱(心跳數據動態改變) * 參數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網絡

若是以爲對你有用的話,贊一下吧!socket

相關文章
相關標籤/搜索