【问题标题】:handle multi-users data with node.js + socket.io使用 node.js + socket.io 处理多用户数据
【发布时间】:2014-07-22 04:24:09
【问题描述】:

我一直在浏览这个网站和网络以寻求答案,但找不到真正让我满意的答案。

我打算为后端编写一个基于 node.js + socket.io 的小型多人网络游戏。为了处理新用户,我编写了这个代码:

io.sockets.on('connection', function(socket)
{
    socket.emit('connected', {message: "you are connected!"});
    var player = new myGame();
}

myGame 是我自己的函数,其中包含游戏本身的许多变量(用户名、分数、金钱...)。我的问题是如何使用来自所有玩家 myGame 对象的数据并更新它的游戏引擎?我正在考虑使用 myGame 对象的全局数组,但这意味着数据被复制了两次(在套接字和全局数组中)。

在 C/C++ 中,我会使用指针或引用,但 JS 是一种按值传递的语言。有什么想法吗?

【问题讨论】:

标签: javascript node.js socket.io


【解决方案1】:

您可以创建映射到 username/socket.id 键的全局对象数组。您不一定必须将该数据存储在套接字中,对吗?每次发生事件时,获取 socket.id 和事件数据并将其发送到全局对象。从那里,使用全局对象和套接字 id 将任何信息传递回套接字。这将有望保留它,因此套接字上的内容与每个人看到的内容相同,因为它们都访问相同的数据。

【讨论】:

    猜你喜欢
    • 2014-04-22
    • 1970-01-01
    • 2020-08-18
    • 2021-03-14
    • 2023-03-26
    • 1970-01-01
    • 2014-07-29
    • 2017-04-22
    • 2023-03-18
    相关资源
    最近更新 更多