我目前正在建立我的第一个网站,仅供练习。我在HTML5和javascript中拼凑了一个快速的乒乓球游戏。我想知道如何将其变成网络游戏。
有什么阻止我说,将用户登录到我的网站,将他们的信息存储在sql数据库中,然后寻找另一个登录并等待玩游戏的人。为了处理网络,我可以创建一个sql数据库并使用AJAX将新信息发布到专门处理网络的表中吗?
这是我头脑风暴的一个直观例子:
[sql table: network]
[logged in user: Josh] [Josh paddle position Y]
[logged in user: Tim] [Tim Paddle position Y]
Use Ajax XMLHttpRequest to post Josh paddle position Y and Tim Paddle Position Y
to the network table, updating each client's screen accordingly (maybe use XMLHttpRequest.responseText to get the other person's information)
delete network table when both users have left the game
无论如何,如果你认为这种方法不起作用,你能指出我正确的方向吗?我仍然是网络编程的新手,所以也许我很想念Ajax的工作方式。在Web应用程序方面,网络通常如何完成?
答案 0 :(得分:0)
您的方法存在一些问题:
解决方案可能是点对点连接,但JS目前不支持它。
要发布更新并获得有关它们的通知,您可以使用持久连接:而不是在每个查询上重新建立连接,只需执行一次,然后将其用于双向通信。这样做的另一个好处是不需要轮询服务器有关更新。 请参阅维基百科上的Server push文章。
同样使用DB可能是不可思议的代价。事实上,对于每个游戏,你需要的是几个变量,当连接关闭时它们将被删除,所以你可以将它们存储在内存中。