netty-demo
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Nikita 692be47124 onEvent handler added 13 years ago
src onEvent handler added 13 years ago
.gitignore header ignore removed 13 years ago
LICENSE.txt License changed to Apache License 2.0 13 years ago
README.md onEvent handler added 13 years ago
checkstyle.xml Code reformatted 13 years ago
header.txt License header added 13 years ago
pom.xml Decoding speed optimizations 13 years ago

README.md

#Overview

This project is an open-source Java implementation of Socket.IO server. Based on Netty server framework. Required JDK 1.5 (or above).

Licensed under the Apache License 2.0.

Features

  • Supports 0.7+ version of Socket.IO-client up to latest - 0.9.6
  • Supports xhr-polling transport
  • Supports websocket transport (Hixie-75/76/Hybi-00, Hybi-10..Hybi-13)

#Usage example

##Server

SocketIOListener handler = new SocketIOListener() {

	@Override
	public void onEvent(SocketIOClient client, Packet packet) {
        ...
	}

	@Override
	public void onMessage(SocketIOClient client, Packet packet) {
                    // get a message
                    packet.getData().toString();
        ...
	}

	@Override
	public void onDisconnect(SocketIOClient client) {
        ...
	}

	@Override
	public void onConnect(final SocketIOClient client) {
        ...
	}

	@Override
	public void onJsonObject(SocketIOClient client, Packet packet) {
                    // get a json object
                    packet.getData();

        ...
                    SampleObject obj = new SampleObject();
                    // send object to socket.io client
                    client.sendJsonObject(obj);
	}
};

Configuration config = new Configuration();
config.setHostname("localhost");
config.setPort(81);
config.setListener(handler);

SocketIOServer server = new SocketIOServer(config);
server.start();
...

server.stop();

##Client

    <script type="text/javascript" src="socket.io.js" charset="utf-8"></script>

    <script type="text/javascript">

           var socket = io.connect('http://localhost:81', {
             'reconnection delay' : 2000,
             'force new connection' : true
           });

           socket.on('message', function(data) {
                // here is your handler on messages from server
           });

       socket.on('connect', function() {
        // connection established, now we can send an objects

                // send json-object to server
                var obj = ...
                socket.json.send(obj);
       });

    </script>