建立点对点网络以进行在线多人游戏

3
我正在使用JavaScript和HTML创建一款回合制多人策略游戏,现在我正在创建多人游戏功能。我已经查看了选项,由于每次最多只有8名玩家参与,并且是回合制,因此一次只有一个玩家在操作游戏,所以我得出结论,点对点将是一个不错的解决方案。然而,我找不到任何详细说明如何设置这样东西的文章。
我找到的所有教程和文章都解释了什么是点对点网络、挑战和可能的解决方案,但没有详细说明如何建立对等体之间的连接等。我找到的那些详细介绍的文章/教程都围绕着下载p2p客户端到用户计算机上展开。我不想让用户下载任何东西。我希望用户能够在网站上设置游戏,并使用加入游戏的玩家的连接信息通过他们浏览器中加载的JavaScript来进行点对点运行。也许我没有理解点对点是如何工作的?这种做法可行吗?
我正在寻找任何可以帮助我实现这一目标的文章、教程或其他材料,或者如果有人能够解释一下,我也不会拒绝。或者如果我误解了事情的运作方式,它是不可能的,那么也知道这一点将是好的。

投票关闭作为工具推荐/过于宽泛。另请参阅:http://gamedev.stackexchange.com/questions/67738/limitations-of-p2p-multiplayer-games-vs-client-server - Ciro Santilli OurBigBook.com
1个回答

0

有很多选择。但如果计算机不在同一网络中,您最终需要一个位于中间的服务器来帮助处理路由和引入新连接。

  1. NodeJS服务器打开与每个客户端的Web套接字,并可以协商通信以及从服务器向客户端推送数据(这是您想要的)。
  2. WebRTC是一种协议,最新浏览器上提供了API,像http://www.rtcmulticonnection.org/这样的网站有大量资源和库可用于帮助您入门。
  3. 您可以利用众多消息服务器之一,例如XMPP、STUN、ActiveMQ(我最喜欢的),并可以遵循典型的发布/订阅模式,同时利用Web套接字、rtc等。

谢谢,我希望我能有使用NodeJS的选择..不幸的是目前对我来说不可用..不过我现在正在查看其他资源! - Marcus Ruddick
NodeJS并不是必需的,只是它使得使用Web套接字变得非常容易。您也可以在php / apache中利用Web套接字。 - carter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接