Java 在基于浏览器的游戏中创建UDP和TCP连接?
我正在做一个游戏,希望将来当我决定添加多人游戏时,可以在UDP和TCP连接之间自由选择。我不确定这样的东西在浏览器中如何安全工作 对于多人游戏,我可以想到两种场景。首先,玩家成为游戏主机(在浏览器中),因此需要通过TCP或UDP直接与其他玩家通信。这将节省我的带宽成本 第二种情况是让web服务器托管游戏,并通过TCP或UDP再次将消息来回传递给客户端Java 在基于浏览器的游戏中创建UDP和TCP连接?,java,flash,browser,networking,Java,Flash,Browser,Networking,我正在做一个游戏,希望将来当我决定添加多人游戏时,可以在UDP和TCP连接之间自由选择。我不确定这样的东西在浏览器中如何安全工作 对于多人游戏,我可以想到两种场景。首先,玩家成为游戏主机(在浏览器中),因此需要通过TCP或UDP直接与其他玩家通信。这将节省我的带宽成本 第二种情况是让web服务器托管游戏,并通过TCP或UDP再次将消息来回传递给客户端 Flash或Java小程序让我做这样的事情吗?如果没有,我是否可以在浏览器中使用其他选择,或者我是否一直坚持提供游戏下载和安装?两个Java小程序
Flash或Java小程序让我做这样的事情吗?如果没有,我是否可以在浏览器中使用其他选择,或者我是否一直坚持提供游戏下载和安装?两个Java小程序/web start应用程序都允许您为游戏等建立网络连接 首先,玩家成为游戏主机(在浏览器中),因此需要通过TCP或UDP直接与其他玩家通信。 Java强制执行“同源策略”,该策略规定(未经用户特别许可),您的应用程序只能连接回它来自的服务器 AFAIK,同样适用于Flash应用程序 第二种情况是让web服务器托管游戏,并通过TCP或UDP再次将消息来回传递给客户端。
如果您不想向用户请求特殊权限,这可能是一种解决方法。Javascript无法执行UDP。无论发生什么情况,applet都可以连接回它们的源代码,并且只有在用户启用Java并信任您的证书的情况下,如果经过签名,它们可以做更多的network-y工作。鉴于facebook上最近有恶意软件小程序的历史记录,如果你想制作基于浏览器的游戏,我不打算使用小程序。Flash中有可能:
- 具有集中式服务器和端到端对等的选项一:在Flash中使用对等点(仅使用UDP)是可能的,但当前处于,并且要求用户拥有Flash Player 10或10.1,具体取决于您的实现。看一看
- 集中式服务器的选项二:您可以使用(仅适用于TCP)。实时多玩家Flash游戏通常使用此选项。您还可以选择通过HTTP交换数据