python - 如何在房间内的命名空间内向特定客户端发出?
问题描述
我有一个使用 flask-socketio 的烧瓶服务器,以及作为仪表板的 Angular 前端,以及几个客户端。仪表板(也是客户端)连接在不同的命名空间(“/dashboard”)上。同样,客户端也连接到不同的命名空间(“/clients”),并分配到各自的房间(按国家/地区)。
现在我想在客户端命名空间的房间内向特定用户(使用 request.sid)发出事件。
PS:这是我第一次在这里问问题,所以请原谅方法:D
解决方案
所以 emit() 函数有一个叫做 room 的参数,你实际上可以将 request.sid 传递给它
emit('some event', some_data, room=request.sid)
根据应用程序的复杂性,创建自己的方法来映射用户所在的房间以及连接的用户属于哪些套接字可能是理想的。在我的情况下,房间中的用户会收到不同的消息,我需要这样做。
这里只是一个例子,展示这个概念
rooms = {
room1: {
user1 : {
username: "rickybobby",
sid: 12ed0u9j1d9a08hy409jdsdf
}
},
roomN : {...userN}
}
推荐阅读
- pascal - 在 inno setup 中获取 CodeMeter 版本并将其与特定版本进行比较
- spring-boot - 在 Spring Data Elasticsearch 4.1 中,同一类的多个自定义转换器是不可能的
- javascript - 为什么现代 Google chrome/Edge 浏览器会打印未声明的 JavaScript 变量的值
- .net - 调用 GC.Collect() 是否仅在您的进程或所有进程上进行垃圾收集?
- unity3d - HLSL vs GLSL,编写 Unity 着色器
- azure - Azure 数据工厂链接服务将时区偏移量解析为 UTC 时如何获取本地时间
- android - 应用程序关闭由于方法 setSkuID 未在 com.mapbox.android.telemetry.AppUserTurnstile 中初始化
- javascript - 在列表中反应渲染模式
- parsing - 在解析表达式的评估中将 [IO String] 转换为 IO String
- c++ - 将 int*** 传递给函数