Hi Jack,

The current version of Lightstreamer (6.0.x) supports two client protocols:

- Text Protocol: it works over HTTP; it's publicly documented; it is used inside most of the official Lightstreamer Client libraries.

- JS Protocol: it works over HTTP and WebSocket; it's not publicly documented; it is used inside the Web and Node.js Lightstreamer Client libraries only.

Their efficiency is quite similar. The real difference between HTTP and WebSocket is when sending high-frequency messages from the client to the server. HTTP requires a full round trip, while WebSockets accepts asynchronous pipelining. In your case, if you receive a message from the Server via HTTP Streaming and need to send back another message to the Server with low latency, you can still go for HTTP. You might simply want to keep a second HTTP connection (TCP socket) ready for sending the message, so that you can avoid the TCP (or worse, TLS) handshake and reduce latency. Otherwise, you can embed Node.js and go for WebSockets.

Please consider that we are working on a new protocol, which is an evolution of the Text Protocol and will support both HTTP and WebSocket. It will be used by all the Lightstreamer Client libraries, thus making the JS Protocol obsolete.

Hope that helps. Let us know if you need any further question.