Для реализации динамического создания веб-сокет-сервера можно использовать пул свободных комнат. 1 Например, создать несколько инстансов сервера комнаты, которые слушают порты на интерфейсе 127.0.0.1, и через балансировщик (например, nginx) сопоставить эти порты с внешним адресом. 1
Также можно использовать динамические URL-адреса. 3 Например, добавлять в них шаблон, например '/{someRoom}/chat', чтобы открывать разные сокеты в зависимости от канала (комнаты). 3
Ещё один вариант — использовать маму-сервер, который управляет пулом комнат: определяет, в какие комнаты по какому токену пускать, какие комнаты свободны и т. п.. 1
Выбор метода зависит от конкретных условий и требований проекта.