2017-07-01 106 views
1

如何使用2台设备之间的热点连接并在AIR/AS3应用程序中彼此之间发送消息?如何识别空气中的热点连接?

其实用这种方法我想打一个多人游戏

+2

我不认为这就是它的工作原理(考虑这种“功能”的安全性和逻辑性,它是否依赖于设备 - 拦截来自下一个设备-B的Wi-Fi传输?多人游戏终止& wi-fi hacking开始了吗?...您可以[**研究一些选项**](https://www.google.co.uk/?gfe_rd=cr&ei=CwdVVqvOHYSIOt7LgdAP#q=as3+detect+wifi+network)现在还不清楚你的应用程序在哪里,因此很难提供建议,也可以考虑检查其他人如何制作多人游戏连接:'as3多人游戏教程' –

回答

1

主要有两种方式,让人们在同一个热点togother玩,空气,取决于热点的行为。

第一种方式:当HotSpot未配置“专用VLAN”(专用VLAN阻止连接到相同HotSpot的节点之间的网络帧)时。

可以使用UDP广播(或多播)数据包:这些数据包发送到同一个第2层网络(即热点网络)上的每个节点(或多播组成员节点)。但AIR不支持此类网络通信:任何AIR API都不能生成此类数据包。因此,您需要创建一个Air Native Extension(http://www.adobe.com/devnet/air/native-extensions-for-air.html),以便对底层操作系统进行本地调用。例如,使用Android上的AIR,您可以调用Java子系统的本地调用并使用java.net.DatagramSocket类。

第二种方式:当HotSpot行为是“专用VLAN”时。

你只需要在互联网上创建一个Rendezvous Point:这是一个每个玩家连接到的服务器,这个服务器将消息从每个玩家切换到其他玩家。为了让同一个HotSpot上的用户能够一起玩,您需要创建一个同一个HotSpot上的用户将连接到的某个竞技场。要连接到Rendezvous点,只需使用mx.rpc.http AS3包。如果您使用的是FlashBuilder,则可以自动生成调用此程序包的存根,但只需提供关于Rendezvous Point Web服务的参数和URL的说明。

+1

感谢您的信息,我很高兴测试2种方式,但对于UDP广播,我看到这个ANE,[link](http://blog.aboutme.be/2011/12/14/udp-native-extension-for-air-mobile-now-with-android-支持/)是否可以? –

+0

是的,这正是您需要的扩展。 –