An Android client of WebSocket-Rails
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src/br/net/bmobile/websocketrails
.classpath
.gitignore
.project
LICENSE.txt
README.md
pom.xml

README.md

WebSocketsRails client port for Android

Port of JavaScript client provided by https://github.com/websocket-rails/websocket-rails

Built on top of AndroidAsync

Misc

Refer to https://github.com/websocket-rails/websocket-rails to learn more about WebSocketRails

Refer to https://github.com/koush/AndroidAsync to learn more about AndroidAsync

Download

Download the latest JAR or grab via Maven:

<dependency>
    <groupId>br.net.bmobile</groupId>
    <artifactId>websocketrails-android</artifactId>
    <version>(insert latest version)</version>
</dependency>

Gradle:

dependencies {
    compile 'br.net.bmobile:websocketrails-android:1.+'
}

Example

Since data exchange is JSON based, it's strongly recommended to use Jackson API to deserialize data.

Connecting to websocket

private WebSocketRailsDispatcher dispatcher;

...
	try {
		dispatcher = new WebSocketRailsDispatcher(new URL("http://192.168.100.109:3000/websocket"));
		dispatcher.connect();
	} 
	catch (MalformedURLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
...

Creating and Subscribing a WebSocketRailsChannel

private static WebSocketRailsChannel webSocketRailsChannel;

...

	webSocketRailsChannel = dispatcher.subscribe("chanelName");

...

Trigering a event from WebSocketRailsChannel

private static WebSocketRailsChannel webSocketRailsChannel;

...

	Message message = new Message(); // Create a class with getter and setter as in Jackson API
	
	message.setName("Charles");
	message.setMessage("Hai");
	
	webSocketRailsChannel.trigger("new_message", message);

...

Binding a event to WebSocketRailsChannel

...

	webSocketRailsChannel.bind("new_message", new WebSocketRailsDataCallback() {

		@Override
		public void onDataAvailable(Object data) {
		// Do what you want with the data received.
		
		}
	}

...

Unsubscribing a WebSocketRailsChannel

...

	dispatcher.unSubscribe("chanelName");

...

disconnecting websocket

...
	dispatcher.disconnect();
...

Projects using WebSockerRails-Android

Ow for Android