Node.js / socket.io“global”变量

时间:2013-04-29 04:00:32

标签: javascript node.js websocket socket.io

我有一个允许两个用户连接到websocket的应用程序(使用socket.io在node.js中编写)。想象一下,用户可以从20中扣除一个数字(由服务器定义),两个用户中的每一个都可以逐个进行扣除。

我的问题是,我应该如何/在哪里设置20的“全局”变量?目前我在客户端连接到套接字时进行设置,但这是不正确的,因为如果我们连接了用户1并且他已经删除了'5',那么用户2(稍后连接)应该只看到最大数量是15而不是20 ,使用我当前的方法,用户2也会看到20.我应该创建我的varialbe并在创建http服务器时为其指定值'20'?

1 个答案:

答案 0 :(得分:2)

这没什么特别的。它甚至不必是全球性的。只是将它放在处理客户请求的函数之外。

var sharedNumber = 20;

socket.on('subtractNumber', function (number) {
    sharedNumber -= number;
    return sharedNumber;
});

socket.on('getNumber', function () {
    return sharedNumber;
});