Javascript 使用node.js+;socket.io

Javascript 使用node.js+;socket.io,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,我一直在浏览这个网站和网页寻找答案,但找不到真正让我满意的答案 我计划为后端编写一个基于node.js+socket.io的小型多人网络游戏。为了处理新用户,我编码如下: io.sockets.on('connection', function(socket) { socket.emit('connected', {message: "you are connected!"}); var player = new myGame(); } myGame是我自己的函数,包含游戏本身

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

我计划为后端编写一个基于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是一种传递值语言。有什么想法吗?

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

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

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

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

Javascript只对原语传递值。看看这里:Javascript只对原语传递值。看看这里:Javascript只对原语传递值。看看这里:Javascript只对原语传递值。请看这里: