In addition to TCP and STDIO, support WebSockets. This allows browser-based clients to communicate with a language server directly.