許 雯,聶堃鋆
(西安航空學(xué)院計(jì)算機(jī)學(xué)院,陜西西安,710077)
Android系統(tǒng)中基于WlFl協(xié)議的互動(dòng)聯(lián)機(jī)游戲平臺的設(shè)計(jì)與實(shí)現(xiàn)
許 雯,聶堃鋆
(西安航空學(xué)院計(jì)算機(jī)學(xué)院,陜西西安,710077)
本文以WIFI技術(shù)為出發(fā)點(diǎn),提出了一種工作在Android平臺下的,基于移動(dòng)熱點(diǎn)技術(shù)的局域網(wǎng)互動(dòng)聯(lián)機(jī)游戲平臺的設(shè)計(jì)思路。具體設(shè)計(jì)實(shí)現(xiàn)了互動(dòng)聯(lián)機(jī)游戲平臺,并對該平臺系統(tǒng)做了實(shí)時(shí)性,穩(wěn)定性,容錯(cuò)性和開放性設(shè)計(jì)。最后通過一個(gè)仿真實(shí)例,表明該方案是可行并且有效的。
Android;WIFI; 移動(dòng)熱點(diǎn);Socket
隨著移動(dòng)通信技術(shù)的發(fā)展,移動(dòng)通訊終端及移動(dòng)應(yīng)用已全然進(jìn)入我們的生活當(dāng)中[1]。我們也對移動(dòng)各式各樣的應(yīng)用提出了更高的要求。對于傳統(tǒng)的移動(dòng)游戲應(yīng)用,要么是只能單機(jī)運(yùn)行,要么是得通過移動(dòng)互聯(lián)網(wǎng)來進(jìn)行聯(lián)機(jī),可聯(lián)機(jī)互動(dòng)的手機(jī)游戲的吸引力是遠(yuǎn)遠(yuǎn)大于單機(jī)的[2]。但是由于種種因素的限制,比如區(qū)域性的無線信號覆蓋不到或者信號不穩(wěn)定,很多時(shí)候人們并不能容易的通過互聯(lián)網(wǎng)進(jìn)行聯(lián)機(jī)[3]。
當(dāng)前主流的無線通信方式主要有WIFI、Zigbee、藍(lán)牙等。WIFI無線通信協(xié)議因其較高的保密及傳輸性能得到業(yè)界的廣泛認(rèn)可[4]。無線WIFI熱點(diǎn)技術(shù),可以在熱點(diǎn)創(chuàng)建的一定區(qū)域內(nèi)保證無線通信的穩(wěn)定性[5]。本文就是基于WIFI協(xié)議的特性,利用移動(dòng)熱點(diǎn)技術(shù),實(shí)現(xiàn)基于WIFI的可互動(dòng)聯(lián)機(jī)的游戲平臺的原型,并通過實(shí)現(xiàn)一個(gè)賽跑游戲來驗(yàn)證該平臺的可行性。
移動(dòng)WIFI熱點(diǎn)技術(shù),負(fù)責(zé)在不同的終端設(shè)備之間建立一個(gè)可以相互通信的無線信道[6]。用戶利用手中的包含WIFI硬件模塊的移動(dòng)設(shè)備,建立以自身為無線信號的接收端, 并且提供給周圍的移動(dòng)設(shè)備接入接口,將自身的蜂窩網(wǎng)絡(luò)連接分享出去。Android操作系統(tǒng)自2.2版本之后就開始原生支持WIFI熱點(diǎn)技術(shù),終端用戶可以為網(wǎng)絡(luò)創(chuàng)建角色,也可以作為使用角色。通過WIFI移動(dòng)熱點(diǎn)這種特性,來搭建基于WIFI的局域網(wǎng)。
本平臺作為一個(gè)抽象平臺設(shè)計(jì),平臺引擎主要由移動(dòng)WIFI模塊,服務(wù)端模塊及客戶端模塊來保證如下特性。
(1)實(shí)時(shí)性:不同終端之間的數(shù)據(jù)通信都能夠近似零延遲廣播給其他終端。
(2)傳輸數(shù)據(jù)的準(zhǔn)確性:每一個(gè)終端的數(shù)據(jù)報(bào)文都能正確解析。
(3)穩(wěn)定性及容錯(cuò)性,該平臺具有對當(dāng)前場景記憶功能,在掉線等網(wǎng)絡(luò)異常情況下能夠立即展開重新連接工作,并在重新連接后能及時(shí)恢復(fù)。
(4)高可復(fù)用性:抽象出一個(gè)高可復(fù)用的接口,其他開發(fā)者只要遵循接口約定,便能相對容易地開發(fā)其他互動(dòng)聯(lián)機(jī)游戲。
2.1 移動(dòng)WIFI模塊設(shè)計(jì)
WIFI模塊是該平臺的基礎(chǔ)設(shè)施,該模塊包裝了Android提供的API,對外提供一些方便易用的接口服務(wù)。
WIFI的打開與關(guān)閉:通過操作Android系統(tǒng)中SDK的WIFIManager類的isWIFIEnabled接口方法來實(shí)現(xiàn)WIFI功能的開關(guān)。
WIFI熱點(diǎn)的創(chuàng)建與刪除:通過WIFIConfiguration配置好熱點(diǎn)信息,由于熱點(diǎn)開關(guān)在SDK中隱藏了,所以需要利用Java反射機(jī)制調(diào)用setWIFIApEnabled接口方法來控制熱點(diǎn)。
加入及離開網(wǎng)絡(luò):通過操作Android系統(tǒng)中SDK的WIFIManager類的disableNetwork接口方法來實(shí)現(xiàn)加入或離開網(wǎng)絡(luò)。
獲取范圍附近的用戶:通過操作Android系統(tǒng)中SDK的WIFIManager類的getScanResults接口方法來獲取周圍搜索到的熱點(diǎn)。
2.2 服務(wù)端模塊設(shè)計(jì)
服務(wù)端作為中心模塊,提供接入WIFI熱點(diǎn)及查看接入客戶端的接口。首先作為Socket服務(wù)端,用戶接收每個(gè)客戶端的消息信號,并通過消息引擎模塊解析消息;同時(shí)也作為Socket客戶端,對接入的每一個(gè)客戶創(chuàng)建實(shí)例,通過觀察者模式來向每一個(gè)接入的客戶端廣播消息;并且提供用戶接口, 開發(fā)者可以自己設(shè)計(jì)特有狀態(tài)機(jī)。
2.3 客戶端模塊設(shè)計(jì)
客戶端模塊與服務(wù)端建立基于TCP協(xié)議的Socket通信,用來保證通信數(shù)據(jù)的可靠性??蛻舳擞袃芍亟巧紫?,它作為Socket服務(wù)端,來監(jiān)聽來自服務(wù)端的數(shù)據(jù)信號,并自己解析報(bào)文信息;其次,它作為Socket客戶端,用來向位于WIFI熱點(diǎn)的服務(wù)端發(fā)去數(shù)據(jù)信號。該模塊只作為數(shù)據(jù)管道,向開發(fā)者提供了極大的擴(kuò)展性,開發(fā)者可傳輸任意的消息。
2.4 消息引擎模塊設(shè)計(jì)
該模塊向開發(fā)者提供接口,可以自定義設(shè)計(jì)消息報(bào)文協(xié)議,并傳入自己解析數(shù)據(jù)信號的策略方法,由服務(wù)端調(diào)用該引擎來獲取準(zhǔn)確信息。
3.1 仿真場景設(shè)計(jì)
游戲場景為A、B、C、D四個(gè)用戶同時(shí)在一個(gè)百米賽道賽跑,賽道包含八個(gè)跑道,每個(gè)跑道不同的位置會有道具,道具隨機(jī)帶有加速或者減速屬性,用戶自動(dòng)可以拾取當(dāng)前所在跑道的道具,道具不可疊加,并限制每隔2秒可以切換一次跑道,并且一次只能切換到相鄰跑道。測試場景中,用戶C會斷開連接,并在2s左右后重連。
3.2 實(shí)驗(yàn)結(jié)果
在服務(wù)端輸出賽跑游戲狀態(tài)機(jī)信息,寫入日志文件,結(jié)果如圖1下所示。
圖1 仿真結(jié)果
從仿真結(jié)果可以看出,該平臺實(shí)現(xiàn)了終端在WIFI熱點(diǎn)連接下的聯(lián)機(jī)互動(dòng)游戲,并對掉線事件做到了斷開容錯(cuò)保護(hù)。
本文討論了時(shí)下熱門的移動(dòng)熱點(diǎn)技術(shù),提出了不同終端建立互動(dòng)聯(lián)機(jī)游戲平臺的設(shè)計(jì)思路。針對Android系統(tǒng),利用其WIFI模塊的系統(tǒng)API,包裝實(shí)現(xiàn)了一個(gè)可供開發(fā)者使用的互動(dòng)聯(lián)機(jī)平臺。該平臺通過TCP傳輸協(xié)議來保證數(shù)據(jù)的穩(wěn)定性,并提供了可開發(fā)的模塊,來讓開發(fā)者接入自己的消息信號解析策略,具有極好的擴(kuò)展性。對于開發(fā)者來說,僅需要專注自身游戲的開發(fā),便能利用該接口實(shí)現(xiàn)聯(lián)機(jī)互動(dòng)。最后,通過一個(gè)聯(lián)機(jī)的賽跑游戲,驗(yàn)證了該平臺的可行性和有效性。
[1]雷震洲.蜂窩移動(dòng)通信技術(shù)演進(jìn)歷程回顧及未來發(fā)展趨勢[J].移動(dòng)通信, 2008, 32(24):24-28.
[2]佚名.國內(nèi)網(wǎng)游膨脹單機(jī)游戲走向沒落[J].玩具世界, 2006(7):31-32.
[3]張杰,虞焰軍,黃宗興.有線與無線信號傳輸方式特性比較與應(yīng)用選擇[J]. 數(shù)字技術(shù)與應(yīng)用, 2014(3):47-47.
[4]羅袁君,伍詩雨,劉俊,等.基于WIFI的專用無線局域網(wǎng)應(yīng)用研究[J].微處理機(jī), 2015(6):29-32.
[5]盛蕾.WIFI網(wǎng)絡(luò)研究及基于Linux的測試平臺的實(shí)現(xiàn)[D].同濟(jì)大學(xué), 2007.
[6]方暉.無線WIFI最優(yōu)熱點(diǎn)組網(wǎng)通信技術(shù)的研究與仿真[J].計(jì)算機(jī)仿真, 2013, 30(7):269-271.
Texas Instruments LMX2594 寬帶PLLatinum RF合成器在貿(mào)澤開售
2017年8月- 專注于新產(chǎn)品引入 (NPI) 并提供極豐富產(chǎn)品類型的業(yè)界頂級半導(dǎo)體和電子元器件分銷商貿(mào)澤電子(Mouser Electronics) 即日起供應(yīng)Texas Instruments (TI)的LMX2594寬帶PLLatinum? 射頻(RF) 合成器。LMX2594屬于TI的PLLatinum系列,可以輕松同步所有板載PLL的輸出,為多輸入/多輸出(MIMO)、波束成形和其他應(yīng)用節(jié)約設(shè)計(jì)時(shí)間。
貿(mào)澤電子備貨的TI LMX2594寬帶PLLatinum RF合成器是具有集成壓控振蕩器(VCO)的高性能寬帶鎖相環(huán)(PLL) RF合成器,可在不使用內(nèi)部倍頻器的情況下生成從10 MHz到15 GHz的任何頻率,因此不需要復(fù)雜的板載濾波器來除去次諧波。該器件具有一流的降噪表現(xiàn)和業(yè)界最低的標(biāo)準(zhǔn)化PLL本底噪聲-236 dBc/Hz和 1/f -129 dBc/Hz,有助于提高輻射敏感度和光譜分辨率。LMX2594集成了本來需要最多五個(gè)設(shè)備才能執(zhí)行的頻率斜升功能,減少了所需的設(shè)備,而板載LDO也進(jìn)一步簡化了設(shè)計(jì)過程。
LMX2594具有一個(gè)32位小數(shù)分頻器,可以優(yōu)化頻率選擇并且同時(shí)支持小數(shù)N分頻和整數(shù)N分頻模式。此器件在7.5 GHz頻率下提供45 fs RMS抖動(dòng),支持JESD204B SYSREF、相位同步和頻率斜升自動(dòng)生成來簡化高性能微波與毫米波系統(tǒng)設(shè)計(jì)。
LMX2594 的目標(biāo)應(yīng)用包括5G和毫米波無線基礎(chǔ)設(shè)施、測試與測量設(shè)備、雷達(dá)、MIMO、相控陣天線與波束成形以及高速數(shù)據(jù)轉(zhuǎn)換器時(shí)鐘應(yīng)用。為方便開發(fā),貿(mào)澤還庫存有LMX2594EVM RF 合成器評估模塊。
Design and Implementation of Interactive Online Game Platform Based on WIFI Protocol in Android System
Xu Wen,Nie Kunjun
(Xi’an Aeronautical University, Xi’an Shaanxi,710077)
This paper takes WIFI technology as the starting point, and proposes a design method of interactive online game platform which based on mobile hotspot technology, which is working under the Android platform. The interactive online game platform is designed and implemented, and at the same time, the platform system has to do real-time, stability, fault tolerance and open design. Finally, a simulation example shows that the proposed scheme is feasible and effective.
Android; WIFI; Mobile Hotspot; Socket
許雯(1988-),女,陜西乾縣人,碩士,研究方向?yàn)橛?jì)算機(jī)圖形學(xué)。聶堃鋆(1995-),男,陜西鎮(zhèn)安縣人,在讀學(xué)生。
西安航空學(xué)院大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃資助項(xiàng)目。