Я пытаюсь отследить количество подключений через веб-сокет и отправить конкретную информацию каждому. Вот мой метод с использованием Flask websocket-io, который я снял с ответа на этом сайте.
class Socket:
def __init__(self, sid):
self.sid = sid
self.connected = True
def emit(self, event, data):
socketio.emit(event, data, room=self.sid)
sockets = {}
@socketio.on('connect')
def foo():
sid = str(request.sid)
sockets[sid] = Socket(sid)
sockets[sid].emit('connected', {'myID':sid})
info = getInfo(sid)
sockets[sid].emit('info', {'data':info})
Все это прекрасно работает, как и ожидалось. Проблема возникает тогда, когда я пытаюсь перебрать и обновить всех:
def refreshInfo():
for sid in sockets:
info = getInfo(sid)
sockets[sid].emit('info', {'data':info})
Метод Socket получает тот же sid и ту же информацию, что и при первом вызове. Но клиент ничего не получает. Что дает? Заранее спасибо.