rxWebsocket

Additional

Language
Java
Version
1.04 (Jun 13, 2019)
Created
Dec 11, 2017
Updated
Jun 13, 2019
Owner
Navin Ilavarasan (navinilavarasan)
Contributors
Navin Ilavarasan (navinilavarasan)
vysarafanov
Moneemsaadaoui
AnnKrepchenko
4
Activity
Badge
Generate
Download
Source code
APK file

Blurb

rxWebSocket

rxWebSocket is a simple reactive extension of OkHttp Websocket interface with support for Convertor Factories and Interceptors.

Usage

To Create a WebSocket with no convertors:

websocket = new RxWebsocket.Builder()
                .build("wss://echo.websocket.org");

To Create a WebSocket with convertors(See sample application to add a simple Gson convertor or write your own):

websocket = new RxWebsocket.Builder()
                .addConverterFactory(//YOUR OWN CONVERTOR)
  .addReceiveInterceptor(data -> //Intercept the received data)
                .build(okHttpClient, "wss://echo.websocket.org");

To Connect to the websocket:

websocket.connect()
         .observeOn(AndroidSchedulers.mainThread())
         .subscribe(
    this::logEvent,
                this::logError
    );

To Connect and Send data on a connected socket:

websocket.connect()
         .flatMap(open -> open.client().send("Hello"))
         .observeOn(AndroidSchedulers.mainThread())
         .subscribe(
          this::logEvent,
                this::logError
   );

To Connect and Listen data on a connected socket:

websocket.connect()
         .flatMapPublisher(open -> open.client().listen())
         .observeOn(AndroidSchedulers.mainThread())
         .subscribe(
          this::logEvent,
                this::logError
   );

Download

Step 1. Add the JitPack repository to your build file Add it in your root build.gradle at the end of repositories:

allprojects {
 repositories {
  ...
  maven { url 'https://jitpack.io' }
 }
}

Step 2. Add the dependency

dependencies {
        implementation 'com.github.navinilavarasan:rxWebSocket:x.y.z'
}

RELEASE