rxWebsocket

Additional

Language
Java
Version
1.04 (Jun 13, 2019)
Created
Dec 10, 2017
Updated
Aug 13, 2020 (Retired)
Owner
Navin Ilavarasan (navinilavarasan)
Contributors
Navin Ilavarasan (navinilavarasan)
Vladimir Sarafanov (vysarafanov)
Moneem Saadaoui (Moneemsaadaoui)
AnnKrepchenko
4
Activity
Badge
Generate
Download
Source code

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