Flask-SocketIO:在节点之间传递事件(Redis-Adapter)

Flask-SocketIO: Passing events between nodes (Redis-Adapter)

在节点平衡器后面运行的应用程序中使用 SocketIO 时,官方文档说明了在这些节点之间传递事件的方式(使用 SocketIO-Redis):

const io = require('socket.io')(3000);
const redis = require('socket.io-redis');
io.adapter(redis({ host: 'localhost', port: 6379 }));

然而,当使用Flask-SocketIO(或只是不使用Node.js)时,JavaScript(单机)版本的SocketIO将像这样使用:

<script src="socket.io.js"></script>
<script>
    var socket = io();
</script>

如何在使用 SocketIO-JS 独立版本时实现 Redis-Adapter?没有Node.js可以使用类似的东西吗?

我尝试使用 BrowserifySocketIO-Redis 转换为 JavaScript,但是 socket.adapter()io.adapter() 都没有函数。无论如何,文件太大了。

How would one implement a Redis-Adapter when using the SocketIO-JS-standalone version?

我不知道你为什么在这里使用“独立”。我认为你的意思是 JavaScript Socket.IO 客户端,它与 Redis 没有任何关系,无论你使用什么 Socket.IO 服务器。

Redis 支持由服务器实现。对于 Node Socket.IO 服务器,您使用 Redis-Adapter 项目。对于 Python Socket.IO 服务器,Redis 的支持来自 built-in,您只需要在创建服务器对象时添加 message_queue 参数,如 the docs.