亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ICE雙向連接的衛(wèi)星空地通信系統(tǒng)

        2019-10-21 09:50:53晉良銀黎明茍江趙斌何娣
        計算機與網絡 2019年9期

        晉良銀 黎明 茍江 趙斌 何娣

        摘要:將ICE中間件的雙向連接機制引入衛(wèi)星空地通信系統(tǒng)中,并給出了一種基于ICE雙向連接的衛(wèi)星空地通信系統(tǒng)設計方案,討論了ICE中間件相關概念,介紹了ICE的雙向連接功能及原理。在衛(wèi)星通信網絡環(huán)境下進行設計、實現與測試,并分析了系統(tǒng)測試結果,測試結果表明ICE雙向連接可以解決衛(wèi)星空地鏈路單向連接的問題。

        關鍵詞:ICE中間件;雙向連接;機載客艙系統(tǒng);單向連接

        中圖分類號:TP393文獻標志碼:A文章編號:1008-1739(2019)09-69-3

        0引言

        目前,機載客艙系統(tǒng)與地面航空公司空地通信主要有ATG和衛(wèi)星通信等方式,本文僅討論衛(wèi)星通信鏈路下機載客艙系統(tǒng)與地面的空地通信。在應用中,客艙系統(tǒng)通過衛(wèi)星接入公網與航空公司進行通信,通信協(xié)議采用TCP/IP。航空公司的服務器具有公網IP地址,但衛(wèi)星通信系統(tǒng)分配給客艙系統(tǒng)的地址是私有IP。在初始化狀態(tài)下,客艙系統(tǒng)可以向航空公司發(fā)起連接請求,但航空公司卻無法主動向客艙系統(tǒng)發(fā)起應用連接。因此,客艙系統(tǒng)與地面的航空公司間的空地通信存在單向連接問題。

        基于ICE中間件的雙向連接機制提供了一種新的思路。ICE中間件通過雙向連接機制首先由機載客艙系統(tǒng)向航空公司發(fā)起并建立連接,ICE保持并維護此連接,航空公司利用該連接可以向機載端發(fā)送消息。針對上述分析,設計了一種基于ICE雙向連接的衛(wèi)星空地通信系統(tǒng)方案,并給出其在衛(wèi)星通信環(huán)境下的測試結果。

        1 ICE中間件

        ICE中間件是ZeroC公司開發(fā)的一款開源面向對象的簡單高效的中間件平臺[1],借鑒了CORBA,DCOM,SOAP等中間件的優(yōu)點,并解決了這些中間件的應用局限[5]。ICE提供了建立面向對象的客戶/服務端應用程序所需要的工具、API和類庫,使得分布式客戶/服務端應用程序的建立變得簡單[6]。而且ICE應用適合在異種環(huán)境中使用,客戶端和服務端可以使用不同的編程語言來實現,同時它可以運行在不同的操作系統(tǒng)平臺以及不同的硬件架構上,有效地解決了C/S模式兼容性差、開發(fā)成本高以及開發(fā)周期長等問題[7]。ICE支持多種網絡信息交互技術(TCP/UDP、SSL、通過插件功能擴展協(xié)議)。

        2 ICE雙向連接

        ICE連接通常允許請求僅在一個方向上流動。如果應用程序的設計要求服務器向客戶端進行回調,則服務器通常會建立與該客戶端的新連接以發(fā)送回調請求,該請求過程如圖1所示。

        但是在實際的網絡環(huán)境中,網絡限制通常會阻止服務器創(chuàng)建與客戶端的單獨連接,例如當客戶端位于防火墻后面,如圖2所示。

        在這種情況下,防火墻會阻止任何直接與客戶端建立連接的嘗試。此時,雙向連接提供了一種解決方案。請求可以在雙向連接上雙向流動,使服務器能夠通過客戶端到服務器的現有連接向客戶端發(fā)送回調請求。有2種方式使用雙向連接:①使用ICE的Glacier功能,在這種情況下,雙向連接被自動使用;②手動配置雙向連接,使用ICE雙向連接的手動配置方式解決衛(wèi)通空地單向連接的問題。

        3系統(tǒng)設計與測試

        3.1系統(tǒng)架構

        基于ICE雙向連接的衛(wèi)星空地通信系統(tǒng)架構示意圖如圖3所示。系統(tǒng)中的各功能模塊采用分布式部署,主要由3部分組成:模擬機載客艙系統(tǒng)的客戶端(Client)、模擬地面航空公司的服務器端(Server)以及衛(wèi)星通信設備。地面服務器端的IP地址是公網地址,而機載客戶端的IP地址是衛(wèi)星通信系統(tǒng)分配的私網地址。因此,在實際通信中,Client可以訪問到Server,但Server無法訪問Client。針對上述問題,本文引入ICE雙向連接機制實現空地之間的雙向通信。

        3.2 ICE安裝及開發(fā)環(huán)境配置

        該系統(tǒng)的Client與Server應用在Centos7 64位操作系統(tǒng)下開發(fā)并運行。ICE版本為3.5.1。Client與Server分別安裝在2臺不同的筆記本上。Client模擬機載客艙系統(tǒng)端(以下統(tǒng)稱機載端)使用衛(wèi)星通信系統(tǒng)分配的私有網IP地址,Server模擬航空公司地面端(以下統(tǒng)稱地面端)使用公網IP地址。地面端與機載端網絡配置如圖4所示。

        Server的網絡配置包括3項內容。TCP表示ICE通信遵循的TCP/IP協(xié)議;-h 218.104.XXX.XXX表示Server的IP地址為218.104.XXX.XXX;-p 10000表示Server監(jiān)聽端口為10000。機載端的網絡配置如圖5所示。

        Client的網絡配置包括三項內容。TCP表示ICE通信遵循的TCP/IP協(xié)議;-h 218.104.XXX.XXX表示Server的IP地址為218.104.XXX.XXX;-p 10000表示Client向Server的10000端口發(fā)送消息。

        3.3 ICE客戶端開發(fā)

        客戶端實現雙向連接需要執(zhí)行以下步驟:

        ①創(chuàng)建一個對象適配器接收回調請求;②使用對象適配器注冊回調對象;③激活對象適配器;④代理對象調用ICE_getconnection函數,獲得連接對象。用獲得的連接對象,調用Setadapter函數,傳遞給回調對象適配器;⑤向服務器傳遞回調對象的身份Identity。

        據上述步驟,客戶端程序的主要代碼如下:

        CallbackSenderPrx server=CallbackSenderPrx::checkedCast(communicator()->propertyToProxy("CallbackSender.Proxy")); ICE::ObjectAdapterPtr adapter=communicator()->createObject-Adapter("");

        ICE::Identity ident;

        ident.name = ICEUtil::generateUUID();

        ident.category = "";

        CallbackReceiverPtr cr = new CallbackReceiverI;

        adapter->add(cr, ident);

        adapter->activate();

        server->ICE_getConnection()->setAdapter(adapter);

        server->addclient(ident);

        communicator()->waitForShutdown().

        3.4 ICE服務器端開發(fā)

        服務器端實現雙向連接需要執(zhí)行以下步驟:

        ①創(chuàng)建一個對象適配器用于調用客戶端的回調函數;②使用對象適配器注冊請求對象;③激活對象適配器;④在請求對象中完成客戶端與服務器的連接,以及完成服務器端調用客戶端的回調函數。

        根據上述步驟,服務器端程序的主要代碼如下:

        Ice::ObjectAdapterPtr adapter= communicator()->createObjectAdapter("Callback.server");

        CallbackSenderIPtr sender= new CallbackSenderI(communicator());

        adapter->add(sender,communicator()->stringToIdentity("sender"));

        adapter->activate(). 3.5測試結果

        (1)首先啟動模擬地面航空公司的Server;

        (2)啟動模擬機載客艙系統(tǒng)的Client。

        Client啟動后運行結果如圖6所示。圖6中列出了Client接收請求和發(fā)送應答的信息參數,本文僅對Client接收請求中部分重要參數進行簡要分析。Message Type為0表示Client接收到一條請求消息;Compression Status為0表示消息不壓縮;Message Size為105表示消息占用105Byte;request id為4表示當前請求的標示為4;Identity表示Server的UUID;Operation為Callback表示操作類型為回調操作;Receive Callback#后的字符串是Client接收Server利用雙向連接發(fā)送的信息。Client接收到Server發(fā)送的“This is a String Sending Test!”字符串。Server調用Client的回調函數成功。

        (3)分析上述在衛(wèi)星通信網絡環(huán)境下的測試結果可知:①Server與Client啟動正常;②Server與Client雙向連接建立成功;③Server利用ICE雙向連接功能向Client發(fā)送消息成功。

        4結束語

        本文討論了ICE中間件相關概念,介紹了ICE的雙向連接功能及原理。通過分析機載客艙系統(tǒng)與航空公司間的衛(wèi)星空地通信鏈路單向連接問題,提出了一種基于ICE中間件的衛(wèi)星空地通信系統(tǒng)的設計方案。該設計方案依托ICE中間件的雙向連接機制,實現了具有公有IP地址的地面端向具有私有IP地址的機載端發(fā)送消息,成功解決了目前衛(wèi)通空地通信鏈路單向連接的問題。在衛(wèi)星通信網絡環(huán)境下進行了實驗與測試,系統(tǒng)測試結果驗證了方案的正確性。

        參考文獻

        [1]陳增孝,裘雪紅.面向對象的ICE中間件系統(tǒng)設計[J].電子元器件應用,2008,10(8):16-18,21.

        [2]江卓逞,黃瑋.曾加剛.基于ICE中間件的分布式應用開發(fā)研究[J].信息與電腦(理論版),2017(9):38-40.

        [3]姜邵巍,朱建良,吳永勝.一種改進的ICE中間件負載均衡算法[J].中國電子科學研究院學報,2016,11(3):263-267.

        [4]李雪玲.基于ICE中間件的應用系統(tǒng)通信框架設計[J].軟件導刊,2017,16(1):91-93.

        [5] Leader-us.ZeroC Ice權威指南[M].北京:電子工業(yè)出版社, 2015.

        [6]王晨,賈卓生.基于ICE中間件的分布式網管系統(tǒng)的研究與設計[J].中國科技信息,2007(9):110-112.

        [7]張俊軍,章旋.ICE中間件技術及其應用研究[J].計算機與現代化,2012(5):192-194.

        [8]陶雪蓮,周俊.基于ICE中間件的分布式衛(wèi)星地面測試系統(tǒng)研究[J].信息通信,2014(2):23-25.

        樱桃视频影视在线观看免费| 亚洲av色香蕉一区二区三区软件| 蜜乳一区二区三区亚洲国产| 午夜日韩视频在线观看| 午夜视频一区二区三区在线观看| 小雪好紧好滑好湿好爽视频| 性色av无码久久一区二区三区| 国产免费专区| 最新日韩精品视频免费在线观看| 久久av少妇亚洲精品| 末成年人av一区二区| 国产成a人亚洲精品无码樱花| 无码综合天天久久综合网| 亚洲av不卡电影在线网址最新| 亚洲最大视频一区二区三区| 亚洲精品宾馆在线精品酒店| 国产七十六+老熟妇| 日本在线看片免费人成视频1000| 成人久久免费视频| 国产一区亚洲一区二区| 久久精品国产亚洲av麻豆瑜伽| 少妇愉情理伦片丰满丰满午夜| 在线观看无码一区二区台湾| 久久久久亚洲AV无码专区一区| 亚洲av色在线播放一区| 国产乱子伦| 久久aⅴ无码一区二区三区| 亚洲精品国产一区av| 精品厕所偷拍一区二区视频| 青青草原精品99久久精品66 | 亚洲av无码一区二区三区人| 91视频88av| 国产视频一区二区三区在线看| 精品午夜福利在线观看| 久久精品国产亚洲av麻| 国产呦系列呦交| 伊人久久大香线蕉av色婷婷色| 免费人成视频xvideos入口| 国产成人精品亚洲午夜| 亚洲第一大av在线综合| 亚洲av成人片色在线观看高潮 |