Пытаюсь реализовать динамические пространства в socket.io, но сталкиваюсь с различными багами. В интернете по этому вопросу много вопросов, но мало нормальных ответов. Вот моя реализация:
app.get '/:namespace', (req, res) ->
namespace = '/' + req.params.namespace
# Is already created namespace?
namespaceExist = io.sockets.manager.namespaces[namespace]?
# Send responce
res.json yes
return if namespaceExist
# Socket.io
io.of(namespace).on 'connection', (socket) ->
# do something
Клиент:
$.getJSON server, {}, (yes) =>
socket = io.connect server
# do something
Но столкнулся с багом: если подключится к серверу, затем перезапустить сервер (подождать пока клиент сделает реконнект) и попыпаться заново подключится — ничего не выходит.
Может кто-нибудь знает как нравильно организовать динамические простраранства имён?