我有一个应用程序,允许两个用户连接到 websocket(它是使用 socket.io 在 node.js 中编写的)。想象一下,用户可以从20(服务器定义的)中扣除一个数字,两个用户可以轮流进行扣除。
我的问题是,我应该如何/在哪里设置 20 的“全局”变量?目前我在客户端连接到套接字时进行设置,但这是不正确的,因为如果我们连接了用户 1 并且他删除了“5”,那么用户 2(稍后连接)应该只能看到最大数量是 15 而不是 20 ,使用我当前的方法,用户 2 也会看到 20。当我创建 http 服务器时,我应该创建我的变量并为其分配值“20”吗?
最佳答案
这不需要什么特别的。它甚至不必是全局性的。只需将其保留在处理客户请求的函数之外即可。
var sharedNumber = 20;
socket.on('subtractNumber', function (number) {
sharedNumber -= number;
return sharedNumber;
});
socket.on('getNumber', function () {
return sharedNumber;
});
关于javascript - Node.js/socket.io "global"变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16270997/