如何识别空中的热点连接?

时间:2017-07-01 17:18:50

标签: actionscript-3 air starling-framework

如何在两台设备之间使用热点连接,并在AIR / AS3应用程序中相互之间发送消息?

事实上,我想用这种方法进行多人游戏

1 个答案:

答案 0 :(得分:1)

根据HotSpot的行为,主要有两种方法可以允许同一个HotSpot上的人使用AIR进行游戏。

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

您可以使用UDP广播(或多播)数据包:这些数据包将发送到同一第2层网络(即HotSpot网络)上的每个节点(或多播组成员节点)。但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”时。

您只需在Internet上创建一个Rendezvous Point:这是每个播放器连接的服务器,此服务器将每个播放器的消息切换到其他播放器。要让同一个HotSpot上的人们一起玩,你需要创建一个同一个HotSpot上的用户将连接到的竞技场。要连接到Rendezvous点,只需使用mx.rpc.http AS3包。如果您使用的是FlashBuilder,则可以自动生成调用此包的存根,您只需要提供Rendezvous点Web服务的参数和URL的说明。