WebSocket works over HTTP, not TCP. A properly implemented HTTP stack will have no problem passing WebSocket to the next server. Some non-compliant HTTP stack still experience trouble with it though.
Technically incorrect. WebSockets handshake over HTTP and then "work" over TCP. I'm actually curious which HTTP stacks are non compliant and what you mean by that.
As to my original comment, you can probably get by without having full TCP load balancing.
I guess when further people adopt HTTP2, where each user will have only one tcp connection to transfer your files, you have to figure out load balancing to stick to your connection.
Maybe if you use Nginx to replace some of your load balancer appliances to reverse proxy all your traffic, but you are unable to do SSL termination on that box.
Is there a use-case where the TCP load balancer being with the web-server made a lot of sense ?
Integrating too many features into a single software can be risky as it may compromise simplicity and the UNIX way, 1 tool for 1 job..