Skip to content

issotina/WebSocketAndroidClient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 

Repository files navigation

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.