Android WebSocket Client

Additional

Language
Java
Version
0.0.7 (Jul 12, 2018)
Created
Sep 15, 2017
Updated
Jul 12, 2018 (Retired)
Owner
Shadaï ALI (geeckmc)
Contributor
Shadaï ALI (geeckmc)
1
Activity
Badge
Generate
Download
Source code

Advertisement

WebSocketAndroidClient

Android webSocket client for Ratchet Server

Credit : This android library use Autobahn-java

Installation

1 - Add it in your root build.gradle at the end of repositories:

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

2 - Add the dependency

dependencies {
           compile 'com.github.geeckmc:WebSocketAndroidClient:0.0.7'
   }

3 - Add packaging options

android
{
...
 packagingOptions {
       exclude 'META-INF/LICENSE'
       exclude 'META-INF/ASL2.0'
   }
}

Usage

1 - Create an Web Socket Instance and start connection

  Ws ws = new Ws.Builder().from( "ws://server_address");
  ws.connect();

2 - Subscribe to channel

Basically get raw data

        ws.on("path/to/channel", new Ws.WsListner() {
            @Override
            public void onEvent(String eventUri, Object data) {
                if(data != null) //your logic here
            }
        });

OR

Get parsed object from json response, for example to get User from channel do something like this

        ws.on("path/to/channel", User.class, new Ws.WsListner<User>() {
            @Override
            public void onEvent(String eventUri, User user) {
                if(user != null) Log.e(TAG,user.name);
            }
        });

2 - Send data to server

ws.send("Hello World");

or send to specific channel

ws.send("path/to/channel","Hello Channel");

3 - Close Connection and remove listners

 ws.end();

License

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.