ScaleCube Socket.IO is a lightweight implementation of Socket.IO Java server based on Netty framework. It implements subset of Socket.IO protocol which is optimized for high throughput and low latency realtime messaging. Supports 0.7+ up to 0.9.16 versions of Socket.IO-client.
Supported transport protocols:
- WebSocket
- Flash Socket
- XHR-Polling
- JSONP-Polling
Tested on VM: CentOS, 4vCPU, 2GB RAM, Java 7
Client Sessions:
- 10,000 long-polling sessions on single node
- 50,000 WebSocket sessions on single node
TPS:
- 4,000 requests per second per single channel.
- 80,000 requests per second total.
SocketIOServer socketIoServer = SocketIOServer.newInstance(5000 /*port*/);
socketIoServer.setListener(new SocketIOAdapter() {
public void onMessage(ISession session, ByteBuf message) {
System.out.println("Received: " + message.toString(CharsetUtil.UTF_8));
message.release();
}
});
socketIoServer.start();
For more examples, see Socket.IO Examples.
<dependency>
<groupId>io.scalecube</groupId>
<artifactId>socketio</artifactId>
<version>2.1.0</version>
</dependency>
Starting from version 2.0.1 Netty dependency is optional in order to allow change of Netty version independently. So following dependencies should be added to your project:
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-buffer</artifactId>
<version>4.0.33.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-common</artifactId>
<version>4.0.33.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-handler</artifactId>
<version>4.0.33.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec</artifactId>
<version>4.0.33.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec-http</artifactId>
<version>4.0.33.Final</version>
</dependency>
Maven dependency for versions up to 1.1.2:
<dependency>
<groupId>com.github.socketIo4Netty</groupId>
<artifactId>socketIo4Netty</artifactId>
<version>1.1.2</version>
</dependency>