socket.io is okay but I don't personally recommend it because I personally think it's a bit too much for what it needs to do. Plain old boring websockets are plenty since there's no real need to support browsers that don't support websockets anymore (they've been standard for years now). I made a websocket library but you can use anything.
If you want to protect your server from having its direct IP exposed, you could use Cloudflare. They support websockets even on the free plan.