我正在尝试跟踪许多websocket连接,并将特定信息发送给每个。这是我使用Flask websocket-io的方法,该方法是我从this网站上的回复中提取的。
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和相同的信息。但是客户什么也没收到。是什么赋予了?预先感谢。