我不确定我是否了解向第一个客户端发出消息的逻辑,但是无论如何,这是这样做的:
clients = []@socketio.on('joined', namespace='/chat')def joined(message): """Sent by clients when they enter a room. A status message is broadcast to all people in the room.""" # Add client to client list clients.append(request.sid) room = session.get('room') join_room(room) # emit to the first client that joined the room emit('status', {'msg': session.get('name') + ' has entered the room.'}, room=clients[0])如您所见,每个客户都有自己的空间。该房间的名称是Socket.IO会话ID,您可以
request.sid在处理来自该客户端的事件时获得该ID
。因此,您要做的就是
sid为所有客户存储此值,然后在
emit呼叫中使用所需的房间名称。



