0

我正在研究小机器人竞技场,使用 AJAX/PHP 前端、Websockets 向 arduino 发送命令,以及 arduino 向机器人发送 IR 命令。用户通过网络摄像头观看机器人。

现在,如果您访问该网站,它对所有人都是免费的。有两个具有独立控制按钮的机器人,但许多人可以同时加载站点并单击按钮,这意味着没有人可以独占控制机器人。

我不希望人们注册并创建用户名/密码,但我希望网站要求他们在连接时输入昵称。输入昵称后,如果没有人在等待,他们可以选择控制机器人,并且控制将被显示。(如果用户 #2 现在想要控制该机器人,该站点将向他显示用户 1 具有控制权,并且他可能会将他的名字放在队列中。(我想如果其他人,我会给人们 45 秒到一分钟的控制权正在等待)

我对 PHP 和 javascript 有一点了解,但我不确定如何解决这个问题。我是否需要使用 mySQL 数据库来跟踪控件的队列和锁定/解锁状态?

谢谢!

TL/DR 我需要创建一个队列,因此两个用户不能同时访问网站上的同一组按钮。

4

1 回答 1

0

我建议您将 cookie 用于“用户识别”,您可以在其中保存时间戳。这既可以唯一标识用户,也可以让您了解用户队列。如果您介意 cookie 黑客攻击,您应该加密该时间戳。

使用此过程,您无需要求昵称,也无需使用数据库。

您还可以提供时间窗口访问,检查每次发送信号时“cookie 时间戳”和“实际时间”之间的时间差。

于 2012-08-05T06:15:27.970 回答