What to use for a websocket server that isn't Node.js?
I have an application (it's a tunnel/parser for the Apache Guacamole protocol tuned to our needs) that basically needs to support TLS-enabled websocket streaming and some parsing (chopping up the messages into appropriately-sized chunks and then passing them over TLS-enabled TCP basically) with low latency and not too much server load for a small number of concurrent users (say 50). It also needs some other basic stuff like crypto, and if it can template and serve the frontend and handle OIDC that's a bonus but not a requirement, I could run it as two apps. It will mainly run on Rocky Linux 9 machines.
Currently I have the server implemented with Bun to keep it easy to build and not having to deal with Node.js dependency hell, but with the recent meme-tier Bun rewrite I want to move away from it.
I have mainly considered Go, but apparently the Go standard library lacks websocket support. Is coder/websocket stable and simple to work with?
Python would be easy, but I'm worried about the concurrent connections and parsing being a bit much for it latency wise. It would be useful to have input here, I know it's totally fine for proxying this type of traffic for single clients, or multiple ones in cases where there is not much data wrangling, and maybe it would perform acceptably here too. Also not sure what library for websockets would be best in that case.
I could do Java, but it's just so tedious I'd prefer to avoid it.
My C++ is a bit rusty and I feel like it'd be too much work to make it robust, but I've considered it. Would also be tedious.
C# - would rather just do Java.
PHP - no, just no.
So I'm gravitating towards Go. Thoughts? My proficiencies in most of these languages are middling as I'm more of an operations guy than a developer, except for Python where I have expert-level proficiency from my PhD, but I haven't really poked much at websocket stuff with it. So I'm considering a trial rewrite in Python since the application isn't huge to begin with.