Flask Websockets:发射到特定的套接字

时间:2018-06-29 03:32:07

标签: python flask websocket

我正在尝试跟踪许多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和相同的信息。但是客户什么也没收到。是什么赋予了?预先感谢。

0 个答案:

没有答案