Run multiple servers on the same port

You would need to use a reverse proxy to do this, e.g. Apache 2.4. with mod_proxy_wstunnel.

Use it as a frontend and then tunnel the connections to the appropriate backend.


Only a single process can listen on a particular port for the same IP address and protocol, because otherwise operating system wouldn't know which process to send the received packet to.

To achieve what you want you will have to use a reverse proxy which will listen on port 80 and forward traffic to correct destination. There are multiple ways to do this. For example you can set up your web server (Apache) to forward WebSocket requests or you may configure Node.js to forward HTTP traffic. Research available options and choose the one that fits your needs best.