Best java server implementation for socket.io
As author, I suggest to try my SocketIO server implementation on Java:
https://github.com/mrniko/netty-socketio
Stable and production ready lib.
We are using in production this one: Socket.IO-Java. We have customize it by our requirements. But in the main case it works good enough.
My colleague shared customized version in github. We are using Jetty 8, there are can be some problem with another servlet containers. Also, we consider using WebSocket only implementation, when XP will not supported by Microsoft.
You can try this one: https://github.com/codeminders/socket.io-server-java
This implementation is loosely based on old Socket.IO-Java library mentioned in other answers.
It supports Socket.IO 1.0+ clients. The websocket transport is implemented with Jetty 9 but there is no dependency on Jetty for core part of the library. It should not be very difficult to implement websocket transport with Tomcat if needed.
I tried to keep the API similar to Node.JS Socket.IO server API. So, to send a message to specific socket all you need is to call socket.emit()
Here is a small code fragment to be called in your SocketIO servlet:
on(new ConnectionListener() {
public void onConnect(Socket socket)
{
try
{
socket.emit("welcome", "Welcome to Socket.IO Chat!");
}
catch (SocketIOException e)
{
socket.disconnect(true);
}
}
});