Animaleante you are correct.. at the VHost level you can only run HTTPProviders. In my use case I needed to be able to support websocket and non-websocket requests into a service. So I wrote a custom HTTPProvider that will use two ports. One for normal http requests and one for websocket requests. I use haproxy to route the incoming request to the correct internal port based on the request type. So there is a single websocket server running inside of my custom httpprovider. This way I can get around any port binding issues with running multiple socket servers. I can then route requests to any application instance as I see fit. The socket server will not shutdown as long as that VHost is running so it won't close/open all the time but will remain live and listening.
In the code sample below I have my wowza vhost binding to port 19350 and my websocket server binding to 8085 but you could have it on any port that you saw fit. My haproxy config is simple enough and looks like this to handle the request routing:
I hope that helps a bit with getting you past your port binding issue.
acl is_websocket hdr(Upgrade) -i websocket
use_backend wschat if is_websocket
timeout server 30s
server wowza1 0.0.0.0:19350 check
timeout server 600s
server ws1 :8085