I'm using LS behind a NAT. What I observe is that when LS is under load, there is a large number of sockets in TIME_WAIT state on the server, and the clients start to receive "connection refused" errors.

This happens both when the clients are making frequent connection/disconnections (but very few subscriptions), and also very few connections but frequent subs/unsubs.

This made me think that the server is closing all TCP connections, since only the FIN initiating party enters TIME_WAIT state. This is understandable for disconnections, because it is done asynchronously (client issuing control command and the server closes the connection).

But I don't understand why this also happens for unsubscriptions. Is it because LS is using HTTP 1.0? What HTTP version is used by different versions of LS?