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

        ?

        一種基于移動(dòng)互聯(lián)網(wǎng)的linux系統(tǒng)遠(yuǎn)程控制臺的實(shí)現(xiàn)

        2014-04-29 00:00:00鄭福弟
        無線互聯(lián)科技 2014年4期

        摘 要:通過移動(dòng)運(yùn)營商接入互聯(lián)網(wǎng)的嵌入式設(shè)備,往往不具備固定的公網(wǎng)IP地址,從而也就無法通過telnet等技術(shù)手段實(shí)現(xiàn)對嵌入式設(shè)備的簡便操控。為了對這些嵌入式設(shè)備實(shí)現(xiàn)類似telnet的簡便操控,本文提出了一種基于移動(dòng)互聯(lián)網(wǎng)linux系統(tǒng)遠(yuǎn)程控制臺的技術(shù)方案。本方案的基本思想是,將本地PC作為服務(wù)器,監(jiān)聽遠(yuǎn)程linux終端的socket連接請求;遠(yuǎn)程linux終端作為客戶端,通過移動(dòng)互聯(lián)網(wǎng)與本地PC建立socket連接,并將標(biāo)準(zhǔn)輸入輸出句柄重定向到這個(gè)socket連接;建立連接后,通過本地服務(wù)器的程序處理,實(shí)現(xiàn)對遠(yuǎn)程終端的指令下發(fā)和遠(yuǎn)程終端執(zhí)行結(jié)果的展示。

        關(guān)鍵詞:移動(dòng)互聯(lián)網(wǎng);遠(yuǎn)程控制臺;socket;描述符重定向

        1 前言

        在所有的類UNIX操作系統(tǒng)應(yīng)用中,控制臺(console)技術(shù)都是其最重要的技術(shù)之一,它為人機(jī)交互提供了最基本的渠道,通過這個(gè)渠道,用戶可以方便地運(yùn)行系統(tǒng)中集成的各種系統(tǒng)程序和應(yīng)用程序,并實(shí)時(shí)監(jiān)控程序的運(yùn)行狀態(tài)和輸出調(diào)試信息。當(dāng)然,作為類UNIX的Linux操作系統(tǒng)也不例外。

        在基于嵌入式Linux操作系統(tǒng)的終端設(shè)備中,現(xiàn)有的控制臺展示方法主要有兩種:

        ⑴通過終端設(shè)備的一個(gè)RS-232串口與PC機(jī)的串口對接,借助PC機(jī)的上位機(jī)串口監(jiān)視軟件(如windows下的超級終端、ubuntu下的minicom等)實(shí)現(xiàn)與終端設(shè)備的交互;

        ⑵如果終端設(shè)備具備以太網(wǎng)接口,則PC機(jī)通過telnet等遠(yuǎn)程登錄的方法實(shí)現(xiàn)與終端設(shè)備的交互。

        但上述方法,在基于移動(dòng)互聯(lián)網(wǎng)的嵌入式linux終端設(shè)備中使用時(shí),分別具有以下弊端:

        ⑴作為具備移動(dòng)互聯(lián)功能的嵌入式終端在應(yīng)用中往往不在室內(nèi)場合,甚至要隨著被嵌入主體的移動(dòng)而移動(dòng),這使得在某些情況下需要與終端實(shí)現(xiàn)交互時(shí)(比如運(yùn)行一些特定的調(diào)試軟件等),如果采用上述方法⑴,工作人員需要帶著筆記本電腦和串口線到設(shè)備現(xiàn)場進(jìn)行對接,相當(dāng)不方便,也影響工作效率;甚至在某些特殊環(huán)境中,工作人員根本無法到達(dá)設(shè)備使用現(xiàn)場而無法與設(shè)備進(jìn)行交互;

        ⑵對于方法2,則要求終端設(shè)備具備固定IP地址,然后把終端設(shè)備當(dāng)作服務(wù)器通過telnet遠(yuǎn)程登錄。但這種對終端需具備固定IP地址的要求不現(xiàn)實(shí):首先,如使用GPRS等移動(dòng)互聯(lián)網(wǎng)的終端,由于移動(dòng)運(yùn)營商出于成本和IP資源的限制,分配給終端的IP一般都不是固定的公網(wǎng)IP地址,而是經(jīng)過NAT技術(shù)為終端提供移動(dòng)運(yùn)營商的內(nèi)網(wǎng)IP地址;其次,假設(shè)電信運(yùn)營商同意為終端分配固定IP,其使用費(fèi)必定很高,最終導(dǎo)致終端產(chǎn)品的使用成本提高。

        基于以上分析,本文提出了一種新的基于移動(dòng)互聯(lián)網(wǎng)linux設(shè)備的遠(yuǎn)程控制臺的技術(shù)方案,以規(guī)避前述的弊端和難點(diǎn)。本方案的基本思想是,將本地PC作為服務(wù)器,監(jiān)聽遠(yuǎn)程linux終端的socket連接請求;遠(yuǎn)程linux終端作為客戶端,通過移動(dòng)互聯(lián)網(wǎng)與本地PC建立socket連接,并將標(biāo)準(zhǔn)輸入輸出句柄重定向到這個(gè)socket連接;建立連接后,經(jīng)過本地服務(wù)器的程序處理,實(shí)現(xiàn)對遠(yuǎn)程終端的指令下發(fā)和遠(yuǎn)程終端執(zhí)行結(jié)果的展示。

        2 重要概念

        ⑴套接字:在linux中的網(wǎng)絡(luò)編程是通過套接字(即socket)接口來進(jìn)行的,它是linux世界中網(wǎng)絡(luò)通信的基本操作單元。套接字是一種特殊的I/O接口,它也是一種文件描述符。socket是一種常用的進(jìn)程之間通信機(jī)制,通過它不僅能實(shí)現(xiàn)本地機(jī)器上的進(jìn)程之間的通信,而且通過網(wǎng)絡(luò)能夠在不同機(jī)器上的進(jìn)程之間進(jìn)行通信。由于socket具備文件描述符的屬性,所以在應(yīng)用中它也適用linux文件描述符重定向技術(shù)。

        ⑵linux重定向:linux中的重定向通常是指在shell環(huán)境下的文件重定向,但本文主要涉及的是文件描述符的重定向,該技術(shù)主要通過dup和dup2兩個(gè)系統(tǒng)調(diào)用來實(shí)現(xiàn)(函數(shù)原型如下)。dup在調(diào)用時(shí)傳給該函數(shù)一個(gè)既有的描述符,它就會返回一個(gè)新的描述符,這個(gè)新的描述符是傳給它的描述符的拷貝,這個(gè)調(diào)用在本方案中主要用以對系統(tǒng)的標(biāo)準(zhǔn)文件描述符(標(biāo)準(zhǔn)輸入輸出、標(biāo)準(zhǔn)錯(cuò)誤輸出)進(jìn)行備份。而dup2則是將一個(gè)新的文件描述符覆蓋到指定的文件描述符上,它在本方案中的主要作用是將標(biāo)準(zhǔn)文件描述符用socket連接的文件描述符來替代。

        #include

        int dup( int filedes );

        int dup2( int filedes, int filedes2 );

        3 具體實(shí)現(xiàn)

        為便于理解,這里先對包含遠(yuǎn)程控制臺的整個(gè)系統(tǒng)環(huán)境及相關(guān)名詞做一個(gè)簡單闡述?;谝苿?dòng)互聯(lián)網(wǎng)的linux系統(tǒng)遠(yuǎn)程控制臺實(shí)現(xiàn)的方案中,整個(gè)系統(tǒng)在物理架構(gòu)上主要包含服務(wù)器、基于移動(dòng)互聯(lián)網(wǎng)的linux終端設(shè)備和移動(dòng)互聯(lián)網(wǎng)絡(luò)三部分,其中服務(wù)器主要包含實(shí)時(shí)運(yùn)行的“業(yè)務(wù)服務(wù)器”和一個(gè)可操作的“socket工具”,前者通過網(wǎng)絡(luò)連接與終端設(shè)備交互,主要用于業(yè)務(wù)數(shù)據(jù)的交互和處理,后者可以是專門實(shí)現(xiàn)的程序工具,或者使用現(xiàn)有socket調(diào)試工具(本文在驗(yàn)證時(shí)使用通用的socket_tool工具),該工具通過網(wǎng)絡(luò)接口實(shí)現(xiàn)與終端設(shè)備交互,而終端設(shè)備則包含實(shí)現(xiàn)業(yè)務(wù)功能的“終端業(yè)務(wù)程序”和實(shí)現(xiàn)遠(yuǎn)程控制臺功能的“遠(yuǎn)程控制臺組件”,“遠(yuǎn)程控制臺組件”通過移動(dòng)互聯(lián)網(wǎng)絡(luò)接口與服務(wù)器端的“socket工具”實(shí)現(xiàn)交互。

        以下是本方案的具體實(shí)現(xiàn)過程闡述:

        ⑴設(shè)備終端正常運(yùn)行時(shí),終端只運(yùn)行其中的“終端業(yè)務(wù)程序”,通過這個(gè)程序,終端實(shí)現(xiàn)本地除遠(yuǎn)程控制臺功能之外的所有業(yè)務(wù)處理,同時(shí)與服務(wù)器端的“業(yè)務(wù)服務(wù)器”程序進(jìn)行業(yè)務(wù)交互;

        ⑵當(dāng)工作人員需要通過遠(yuǎn)程控制臺與終端交互時(shí),則首先運(yùn)行服務(wù)器端的“socket工具”并建立socket監(jiān)聽服務(wù)器,然后通過“業(yè)務(wù)服務(wù)器”下發(fā)“啟動(dòng)終端遠(yuǎn)程控制臺組件”的指令;

        ⑶當(dāng)設(shè)備終端的“終端業(yè)務(wù)程序”接收到“啟動(dòng)終端遠(yuǎn)程控制臺組件”的指令時(shí),運(yùn)行終端設(shè)備中的“遠(yuǎn)程控制臺組件”;

        ⑷對于終端的“遠(yuǎn)程控制臺組件”,這個(gè)組件是實(shí)現(xiàn)了以下功能的一個(gè)可執(zhí)行程序。

        1)通過程序運(yùn)行時(shí)帶入的參數(shù),接受“終端業(yè)務(wù)程序”發(fā)送過來的服務(wù)端“socket工具”的IP地址和端口信息;2)通過socket網(wǎng)絡(luò)編程技術(shù),將設(shè)備終端作為客戶端接入到服務(wù)器端的“socket工具”所建立的監(jiān)聽服務(wù)器上,建立連接,獲得連接句柄handle1;3)備份保存Linux系統(tǒng)的標(biāo)準(zhǔn)輸入stdin、標(biāo)準(zhǔn)輸出stdout和標(biāo)準(zhǔn)錯(cuò)誤輸出stderr,分別為stdin_back、 stdout_back和stderr_back;4)通過linux重定向技術(shù),將stdin、stdout和stderr都重定向到handle1上;5)不斷讀取stdin輸入數(shù)據(jù),分析數(shù)據(jù),將數(shù)據(jù)中回車符之前的數(shù)據(jù)作為系統(tǒng)命令在Linux系統(tǒng)上執(zhí)行;由于已將stdout重定向到handle1上,此時(shí)執(zhí)行命令后的輸出信息將自動(dòng)送到handle1,也就送到了服務(wù)器上的“socket工具”;6)如果接收數(shù)據(jù)為組件退出命令,則關(guān)閉handle1,將stdin,stdout和stderr分別重定向回stdin_back、stdout_back和stderr_back,然后退出程序。

        ⑸通過以上步驟,終端的“遠(yuǎn)程控制臺組件”啟動(dòng)后,服務(wù)器端的“socket工具”的輸入、輸出界面即可作為一個(gè)控制臺的交互界面,實(shí)現(xiàn)了虛擬的遠(yuǎn)程控制臺功能。

        通過本文所述的基于移動(dòng)互聯(lián)網(wǎng)的linux系統(tǒng)遠(yuǎn)程控制臺的實(shí)現(xiàn),為基于linux嵌入式設(shè)備的遠(yuǎn)程控制和調(diào)試提供了一種相對較簡便的途徑。同時(shí),本方案還具有以下優(yōu)點(diǎn):

        ⑴規(guī)避了工作人員要到嵌入式終端的使用現(xiàn)場才能用控制臺的麻煩,提高了工作效率,降低了終端設(shè)備的維護(hù)成本;

        ⑵規(guī)避了移動(dòng)終端無固定IP而無法telnet登錄的弊端;

        ⑶服務(wù)器隨時(shí)可與終端進(jìn)行交互,這樣當(dāng)終端運(yùn)行出問題時(shí),可直接使用真實(shí)的終端工作環(huán)境及時(shí)進(jìn)行調(diào)試;

        ⑷本文所述遠(yuǎn)程控制臺的實(shí)現(xiàn),不受終端設(shè)備的串口資源限制,在串口資源緊張的設(shè)備中特別適用;

        ⑸終端上遠(yuǎn)程控制臺組件是一個(gè)比較獨(dú)立的程序,不會因?yàn)榻K端的業(yè)務(wù)程序不同而區(qū)別,具有通用性,有利于在不同嵌入式產(chǎn)品之間的移植;

        ⑹運(yùn)行遠(yuǎn)程控制臺,不影響終端設(shè)備本身的實(shí)際控制臺的使用,實(shí)現(xiàn)本地調(diào)試和遠(yuǎn)程調(diào)試同時(shí)進(jìn)行;

        ⑺通過修改服務(wù)器上對“socket工具”的服務(wù)器端IP設(shè)置,即可實(shí)現(xiàn)將服務(wù)器端的遠(yuǎn)程控制臺相關(guān)的處理分離到另一臺服務(wù)器PC上,這樣既保證了正常運(yùn)轉(zhuǎn)的“業(yè)務(wù)服務(wù)器”安全,還能靈活轉(zhuǎn)移遠(yuǎn)程控制臺服務(wù)器端的工作環(huán)境;

        [參考文獻(xiàn)]

        [1]W.Richard Stevens,Stephen A.Rago,著.尤晉元,張亞英,戚正偉,譯. UNIX環(huán)境高級編程(第2版).人民郵電出版社.

        [2]華清遠(yuǎn)見嵌入式學(xué)院,趙蒼明,穆煜,編著.嵌入式Linux應(yīng)用開發(fā)教程.人民郵電出版社.

        亚洲成人av在线蜜桃| 9久9久女女热精品视频免费观看| 青青草免费激情自拍视频| 日本岛国一区二区三区四区| 中文字幕av中文字无码亚| 国产精品igao视频| 国产精品亚洲专区无码web| 国产熟女乱综合一区二区三区| 亚洲精品中文字幕视频色| 国产99在线 | 亚洲| 99久久精品自在自看国产| 日本视频精品一区二区| 亚洲国产精品情侣视频| 又粗又硬又大又爽免费视频播放 | 国产喷白浆精品一区二区| 色播视频在线观看麻豆| 亚洲精品久久区二区三区蜜桃臀| 成年男女免费视频网站| 亚洲伊人久久综合精品| 91视色国内揄拍国内精品人妻| 精品亚洲成a人片在线观看| 国产高级黄区18勿进一区二区| 国产偷拍盗摄一区二区| 日本h片中文字幕在线| 国产av无码专区亚洲av极速版| 一区二区韩国福利网站| 丰满人妻被公侵犯的视频| 日本动漫瀑乳h动漫啪啪免费 | 国产尤物精品视频| 国产精品-区区久久久狼| 亚洲免费成年女性毛视频| 91伦理片视频国产精品久久久| 无码毛片视频一区二区本码| 欧美日本道免费二区三区| 免费看草逼操爽视频网站| 日本又色又爽又黄又免费网站| 放荡的闷骚娇妻h| 亚洲成人激情在线影院| 国产一区二区黄色录像| 无码人妻丰满熟妇区毛片| 无码中文字幕专区一二三|