Wslay is a WebSocket library written in C. It implements the protocol version 13 described in RFC 6455. This library offers 2 levels of API: an event-based API and a frame-based low-level API. For the event-based API, it is suitable for non-blocking reactor pattern style. You can set callbacks in various events. For the frame-based API, you can send WebSocket frame directly. Wslay only supports the data transfer part of the WebSocket protocol and does not perform the opening handshake in HTTP. It does not perform any I/O operations for its own. Instead, it offers callbacks for them. This makes Wslay independent of any I/O frameworks, SSL, sockets, etc. It is portable across various platforms, and the application authors can choose I/O frameworks freely.
RMI WebSocket provides a library for remote method invocations between a browser and a Jetty Web Server using the HTML5 WebSocket. The idea is to enable tight method-level integration between the user interface and the server so that patterns such as MVP (Model-View-Presenter) can be applied in a Web environment. The method-level communications between the browser code and the server code allows the developer to think about the Web page and server-side components as objects in a UML world. Details such as the over-the-wire protocols in WebSockets are abstracted away in the process.
msg-rpc provides bidirectional RPC support over a simple message interface such as WebSocket. Tere are WebSocket examples based on socket.io and sockjs. It just has a simple sendMessage/onMessage interface, with no other dependencies. It supports not only normal RPC, but also RPC Service, which makes RPC pushable (i.e. the server can also send a request to the client and expect some kind of response).