2017-07-01 37 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

是的,這正是您需要的擴展。 –