每个套接字用户的Javascript唯一数组

时间:2018-09-19 15:54:27

标签: javascript websocket

我有问题!

当两个用户在玩游戏并且他们同时单击非常接近时,所有两个用户都能获得只有第二个用户必须获得的东西。

是否可以通过他的用户名或其他内容组成一个数组?

我也有这样的反垃圾邮件

anti_spam[socket.request.session.passport.user.id]

但这就是一个json

如果我尝试相同的操作或数组,则会收到错误SyntaxError: Unexpected token [

我如何确定每个用户在同时打开时只能得到自己的物品,而不能从另一个用户那里得到物品?

我使用套接字,这是唯一的用户名socket.request.session.passport.user.id

这是数组

var WinItem = [];

如果两个用户同时启动的时间相似,那么第二个用户将覆盖第一个用户...

1 个答案:

答案 0 :(得分:0)

!代码未测试!

等待,等待,等待...

所以我只知道ws (Node.js),但是首先您会得到一个onConnection事件。 在该函数中,将UID添加到连接元素。然后,如果您从客户端收到一条消息,则您应该是您的连接对象,因此应该是一个UID。现在,您可以将赢得的物品存储在连接对象中(如果需要),就像这样:

ws.onConnection = con => {
    con.UID = generateUID();
    con.inventory = [];
    con.onMessage = msg => {
        [..STUFF/CODE/YAY...]
        con.inventory.push(item);
        con.send("You've won wooohoo");
    });
});

您的意思是这样的吗? 否则,请更详细地说明您想要什么。 (您也可以将这些东西与UID一起存储在其他地方,但这会增加一些代码的安静性)