The WebSocket protocol is based on simple TCP socket communication with an initial handshake. After the handshake has successfully been processed the connection provides a full duplex (bi-directional) communication channel between the server and the client w/o any HTTP overhead or content restrictions. Depending on its dimension a single server can handle hundreds of concurrent client connections. Due to the extensible structure of the jWebSocket approach multiple servers can be clustered to support an almost unlimited number of clients (targeted for jWebSocket release 2.0).
In jWebSocket each client is connected to a connector on the jWebSocket Server. Connectors are driven by an engine like e.g. the jWebSocket internal TCPEngine or third party engines like JBoss Netty. The server core in jWebSocket can drive multiple engines to benefit from their individual features like the SSL support. The following diagram first gives you an overview over the jWebSocket communication infrastructure.
Connectors, Engines and Servers in the jWebSocket communication stack
Copyright © 2012 Innotrade GmbH. All rights reserved.