【发布时间】:2020-09-27 02:26:20
【问题描述】:
当在节点平衡器后面运行的应用程序中使用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)时,SocketIO 的 JavaScript(独立)版本将像这样使用:
<script src="socket.io.js"></script>
<script>
var socket = io();
</script>
当使用SocketIO-JS-standalone 版本时,如何实现Redis-Adapter?有没有类似的东西可以不用Node.js?
我尝试使用Browserify 将SocketIO-Redis 转换为JavaScript,但socket.adapter() 和io.adapter() 都没有函数。无论如何,文件太大了。
【问题讨论】:
-
也许我不明白你在问什么,但似乎你将 JS 服务器和 JS 客户端视为同一事物,但事实并非如此。您问题中的第一个代码示例使用 JS/Node Socket.IO 服务器。第二个示例使用 JS Socket.IO 客户端。没有“独立”版本的 Socket.IO。
标签: javascript node.js redis socket.io flask-socketio