If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

I've spent a bit of time searching "fastest lightstreamer clients", but I don't find any comparisons.

My criteria for selecting the client API (or roll my own) is latency: the time between the server sending a message to my client and server receiving my response. The only thing I have control over is my network interface receiving a message, my program processing the message and then sending a response out a network interface.

I'm considering implementing the network protocol in yet another language, but I'd like to know the pros and cons.

- I've heard the JS protocol doesn't use the text protocol, but a binary protocol
. is this faster?
- would it be best to embed node.js (or other client lib) in my code where there are native libs?
. faster, comes with support?
- why aren't the other protocols documented?
. if there are any
. may i implement any undocumented protocols?

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.