Python 如何使flask服务器通过flask套接字IO向特定客户端发送消息

Python 如何使flask服务器通过flask套接字IO向特定客户端发送消息,python,flask,flask-socketio,Python,Flask,Flask Socketio,我找不到任何关于这个主题的好文档 我有一个向客户端提供身份验证的服务器和一个简单的RESTAPI 服务器也在后台线程上运行,并通过套接字IO连接与计算机通信 我想在数据库的socket IO上保存用计算机打开的每个会话,当用户单击某个页面中的按钮时,我的服务器开始使用保存的会话id向特定计算机发送消息 如何才能做到这一点?分配给每个客户端的sid会话id也是一个只有该客户端的房间的名称。要将事件发送到客户端,只需将其发送到具有所需的sid的房间即可。例如: emit('some-event',

我找不到任何关于这个主题的好文档

我有一个向客户端提供身份验证的服务器和一个简单的RESTAPI

服务器也在后台线程上运行,并通过套接字IO连接与计算机通信

我想在数据库的socket IO上保存用计算机打开的每个会话,当用户单击某个页面中的按钮时,我的服务器开始使用保存的会话id向特定计算机发送消息


如何才能做到这一点?

分配给每个客户端的
sid
会话id也是一个只有该客户端的房间的名称。要将事件发送到客户端,只需将其发送到具有所需的
sid
的房间即可。例如:

emit('some-event', {'data': 'foo'}, room=sid, namespace='/test')

分配给每个客户端的
sid
会话id也是仅包含该客户端的房间的名称。要将事件发送到客户端,只需将其发送到具有所需的
sid
的房间即可。例如:

emit('some-event', {'data': 'foo'}, room=sid, namespace='/test')

好的,在服务器上的“connect”事件中,我正在将request.namespace.socket.sessid保存到mongoDB中(我的flask版本是0.10.1),然后当用户单击按钮时,我使用emit()并将我预先保存在DB中的值发送到“room”参数?sessiond是一个StringField,对吗?您想要的表达式是
request.sid
,但除此之外,是的,它就是这样工作的。我将
request.namespace.socket.sessiond
更改为
request.sid
,正如您所说的,现在我要构建一个测试socketio客户端,虽然我认为我的flask版本已经过时,而且还没有
请求.sid
,因为我在网上看到我需要更新版本,顺便说一下,谢谢你的帮助,能得到专家的帮助真是太好了。好的,因此,在服务器上的“connect”事件中,我正在将request.namespace.socket.sessid保存到mongoDB中(我的flask版本是0.10.1),然后当用户单击按钮时,我使用emit()并将预先保存在DB中的值发送到“room”参数?sessiond是一个StringField,对吗?您想要的表达式是
request.sid
,但除此之外,是的,它就是这样工作的。我将
request.namespace.socket.sessiond
更改为
request.sid
,正如您所说的,现在我要构建一个测试socketio客户端,虽然我认为我的flask版本已经过时,而且还没有
request.sid
,因为我在网上看到我需要更新版本,顺便说一句,谢谢你的帮助,能得到专家的帮助真是太好了。