我正在开发一款游戏,并希望将来在我决定添加多人游戏时可以自由选择UDP和TCP连接。我不确定这样的东西在安全浏览器中是如何工作的。
我可以为多人游戏设想两种情况。第一个是玩家成为游戏的主人(在浏览器中),因此需要通过TCP或UDP直接与其他玩家通信。这样可以节省带宽成本。
第二种情况是让Web服务器托管游戏并通过TCP或UDP再次向客户端传递消息。
Flash或Java applet让我做这样的事情吗?如果没有我可以用于浏览器的替代方案,或者我仍然坚持提供游戏下载和安装?
答案 0 :(得分:0)
两个Java applet / web-start应用程序都允许您为游戏等建立网络连接。
首先是玩家成为游戏的主人(在浏览器中),因此需要通过TCP或UDP直接与其他玩家进行通信。
Java强制执行“同源策略”,该策略表明(未经用户特别许可)您的应用程序可能只能连接回它来自的服务器。
AFAIK,同样适用于Flash应用程序。
第二种情况是让网络服务器托管游戏,并通过TCP或UDP再次向客户端传递消息。
如果您不想要求用户获得特殊权限,这可能就是您的选择。
答案 1 :(得分:0)
Javascript无法做UDP。无论如何,小程序都可以连接到它们的源,并且如果签名,它们可以执行更多的网络操作,并且只有当用户启用Java并信任您的证书时。鉴于Facebook最近的恶意软件小程序历史,如果您想制作基于浏览器的游戏,我不打算使用小程序。
答案 2 :(得分:0)
可以在Flash中使用:
具有集中式服务器和端到端对等的选项一:可以在Flash中使用对等体(仅限UDP),但目前位于beta并且需要用户拥有Flash Player 10或10.1,具体取决于您的实现。查看example demo game。
使用集中式服务器的选项二:您可以使用Real Time Messaging Protocol(仅限TCP)。实时多人Flash游戏通常使用此功能。您还可以选择通过HTTP交换数据。