Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在基于浏览器的游戏中创建UDP和TCP连接?_Java_Flash_Browser_Networking - Fatal编程技术网

Java 在基于浏览器的游戏中创建UDP和TCP连接?

Java 在基于浏览器的游戏中创建UDP和TCP连接?,java,flash,browser,networking,Java,Flash,Browser,Networking,我正在做一个游戏,希望将来当我决定添加多人游戏时,可以在UDP和TCP连接之间自由选择。我不确定这样的东西在浏览器中如何安全工作 对于多人游戏,我可以想到两种场景。首先,玩家成为游戏主机(在浏览器中),因此需要通过TCP或UDP直接与其他玩家通信。这将节省我的带宽成本 第二种情况是让web服务器托管游戏,并通过TCP或UDP再次将消息来回传递给客户端 Flash或Java小程序让我做这样的事情吗?如果没有,我是否可以在浏览器中使用其他选择,或者我是否一直坚持提供游戏下载和安装?两个Java小程序

我正在做一个游戏,希望将来当我决定添加多人游戏时,可以在UDP和TCP连接之间自由选择。我不确定这样的东西在浏览器中如何安全工作

对于多人游戏,我可以想到两种场景。首先,玩家成为游戏主机(在浏览器中),因此需要通过TCP或UDP直接与其他玩家通信。这将节省我的带宽成本

第二种情况是让web服务器托管游戏,并通过TCP或UDP再次将消息来回传递给客户端


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交换数据


如果你想有机会通过防火墙,我不确定使用不同于HTTP的协议是否是一个好主意……你可以尝试移植游戏,使其在Adobe Air上运行。如果没有签名,小程序可以向原始服务器发送数据报,尽管它们无法侦听数据报,这有点垃圾。