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

        ?

        基于Android平臺的即時通信系統(tǒng)設計

        2015-04-12 00:00:00雷文禮等
        現(xiàn)代電子技術(shù) 2015年3期

        摘 要: 隨著Internet與移動通信的飛速發(fā)展及相互融合,通過無線網(wǎng)絡高速接入到Internet成為現(xiàn)實,即時通信軟件作為一種便捷的網(wǎng)絡通信工具,其應用范圍從單純的網(wǎng)絡聊天工具逐漸變成工作生活所不可缺的信息交流平臺。采用Socket網(wǎng)絡編程設計,在Android平臺下實現(xiàn)了基于TCP/IP協(xié)議的網(wǎng)絡通信系統(tǒng)。實驗測試證明,系統(tǒng)運行正常,可以實現(xiàn)在Android平臺上的即時通信功能。

        關鍵詞: Android; 即時通信; 網(wǎng)絡; Socket

        中圖分類號: TN915.4?34 文獻標識碼: A 文章編號: 1004?373X(2015)03?0013?03

        Design of instant communication system based on Android platform

        LEI Wen?li, REN Xin?cheng, ZHANG Dong, GAO Ying

        (College of Physics and Electronic Information, Yan’an University, Yan’an 716000, China)

        Abstract: With the rapid development and mutual fusion of Internet and mobile communication, it comes true for the network communication system to access the Internet through high?speed wireless network. As a kind of convenient network communication tool, the instant messaging software has gradually turned into indispensable platform for the exchange of information in work and life from the simple network chat tool. The network communication system based on TCP/IP protocol was realized on the platform of Android, which uses the Socket network programming. The experiment and testing show that the system runs well, and can achieve real?time communication function on Android platform.

        Keywords: Android; instant communication; network; Socket

        0 引 言

        隨著移動通信技術(shù)的快速發(fā)展,人們對移動終端的功能需求也日益增高。即時通信軟件作為網(wǎng)絡用戶通信交流不可或缺的工具,從單純的網(wǎng)絡聊天工具逐漸變成工作生活的信息交流平臺,即時通信的用戶規(guī)模也呈現(xiàn)出快速增長的趨勢[1]。本文采用Socket網(wǎng)絡編程設計,在Android平臺下實現(xiàn)了基于TCP/IP協(xié)議的網(wǎng)絡通信系統(tǒng)。本系統(tǒng)的設計方案為后期相關通信系統(tǒng)設計提供了部分技術(shù)參考,并具有一定的應用價值[2]。

        1 Android平臺

        Android是一個由Linux+Java構(gòu)成的開源的移動設備軟件平臺,它是基于Linux內(nèi)核的系統(tǒng),具有良好的可移植性 [3?4]。Android平臺的框架結(jié)構(gòu)從上至下包含了五個部分:應用程序(Applications)、應用框架(Application Framework)、開發(fā)庫(Libraries)、運行時環(huán)境(Android Runtime)以及Linux內(nèi)核(Linux Kernel),可方便地為應用程序提供系統(tǒng)調(diào)用,為應用程序的開發(fā)提供了便利。

        2 系統(tǒng)設計

        Android系統(tǒng)中的網(wǎng)絡通信可以通過四種方法實現(xiàn):

        (1) 可以調(diào)用JDK中的相關網(wǎng)絡通信的API函數(shù)[5]實現(xiàn)。

        (2) 基于ServerSocket和Socket方法創(chuàng)建TCP/IP協(xié)議的網(wǎng)絡通信。

        (3)通過DatagramSocket和MulticastSocket創(chuàng)建UDP協(xié)議的網(wǎng)絡通信。

        (4)通過JDK中提供的URL等網(wǎng)絡通信API來實現(xiàn),這種方法采用在Android系統(tǒng)內(nèi)置HTTPClient,發(fā)送HTTP請求,獲取HTTP響應的方式使得通信得以實現(xiàn)。

        本文采用上述第(2)種方法實現(xiàn)網(wǎng)絡通信。

        2.1 用ServerSocket創(chuàng)建TCPClient

        在系統(tǒng)中,服務器端通過ServerSocket類監(jiān)聽是否有客戶端發(fā)出Socket連接請求,若沒有,則一直處于等待狀態(tài);若有,則進行后續(xù)相應操作。ServerSocket類通過Socket accept()函數(shù)實現(xiàn)監(jiān)聽網(wǎng)絡中客戶端的連接請求[6]。

        Socket accept()函數(shù),如果監(jiān)聽到有客戶端發(fā)出的Socket連接請求,則連接;若沒有監(jiān)聽到,則進入等待狀態(tài)。

        ServerSocket類通過以下幾個構(gòu)造器來創(chuàng)建ServerSocket對象:

        (1) ServerSocket(int port)函數(shù),通過指定的某一個端口port號創(chuàng)建一個ServerSocket。端口號的有效數(shù)字在0~65 535之間。

        (2) ServerSocket(int port,int backlog)函數(shù),在參數(shù)中增加backlog,可以用來改變隊列長度。

        (3) ServerSocket(int port,int backlog,InetAddress localAddr)函數(shù),在參數(shù)中增加InetAddress和localAddr,用于在機器存在多個IP地址的情況下,將其綁定到指定的IP地址。

        當系統(tǒng)中Socket通信結(jié)束后,可以用ServerSocket中的close()函數(shù)關閉該終端的Socket通信。

        在某一時刻,服務器可能不僅會監(jiān)聽到一個客戶端的連接請求,當有多個客戶端的連接請求時,服務器應該能處理所有客戶端的連續(xù)請求。本文中服務器端的實驗程序運行在PC上,服務器與客戶機端的Socket通信如圖1所示。

        圖1 服務流程圖

        當使用Socket進行通信時,客戶端程序可以通過以下兩個Socket的構(gòu)造器連接到指定服務器端。

        (1)Socket(InetAddress/String remoteAddress,int port):用于創(chuàng)建一個連接到指定遠程主機、遠程端口的 Socket,該函數(shù)中使用本地主機默認IP地址進行連接。

        (2)Socket(InetAddress/String remoteAddress,int port, InetAddress localAddr, int localPort):用于創(chuàng)建一個連接到指定遠程主機和遠程端口的Socket,該函數(shù)中指定了本地IP地址和使用的端口號。

        以上兩個構(gòu)造器中指定的遠程主機,可以使用InetAddress表示,也可通過用String對象表示。在程序中,一般使用String對象表示遠程IP地址。同時,比較上述兩種方法,在本地主機只有一個IP地址的情況下,第一個方法由于使用默認的IP地址,無需指定,因此更為簡單。如以下代碼所示:

        Socket s=new Socket(“192.168.12.59”, 30000);

        //創(chuàng)建連接到本機,30000 端口的 Socket

        當客戶端程序運行上面的代碼時,客戶端程序?qū)⑦B接到指定服務器端,服務器端的ServerSocket類中的accept方法將開始向下執(zhí)行,這樣在服務器端和客戶端就產(chǎn)生了用于互相連接的Socket通信。

        客戶端與服務器端建立了Socket之后,就可以相互進行通信。當需要獲取輸入流和輸出流時,Socket可以通過以下兩種方法來實現(xiàn)。

        (1)InputStream getInputStream():函數(shù)將返回該Socket對象對應的輸入流,程序可以通過該輸入流取出需要的數(shù)據(jù)。

        (2)OutputStream getOutputStream():函數(shù)將返回該Socket對象對應的輸出流,程序可以通過該輸出流輸出數(shù)據(jù)。

        2.2 加載工程文件

        打開 Android 集成開發(fā)環(huán)環(huán)境并加載工程文件:選擇任務欄的“file??>import”導入項目文件,從常規(guī)(General)文件的選項中選擇已經(jīng)存在的項目到工作區(qū)

        接著,選擇“Select root directory”選項,通過瀏覽文件夾功能選擇服務器或者客戶端程序目錄,這里選擇“EX02_08/tcp/JavaServer”,同時勾選“Copy project into workspace”復制到工作區(qū),按下“確定”按鈕,再選擇“Finish”按鈕即可。

        加載完工程后,在 Workspace 里找到 JavaServer工程,右擊工程名,選擇 Run As?>Java Application,運行 JavaServer 程序。如圖3所示。

        3 系統(tǒng)測試

        本文在模擬器中對程序進行測試,操作如下:右鍵項目名稱?>run as?>Android Application,這樣即可啟動運行該Android程序,如圖5所示。

        在發(fā)送框中輸入“5554”,如圖6所示。

        輸入完后,點擊發(fā)送按鈕,這時下面的 TextView 文本框中將顯示從服務器發(fā)送過來的數(shù)據(jù)。如圖7所示。

        參考文獻

        [1] 張輝,曹麗娜.現(xiàn)代通信原理與技術(shù)[M].西安:西安電子科技大學出版社,2005.

        [2] 何忠龍,陳萱華,曹迎槐.多媒體通信技術(shù)[M].北京:北京希望電子出版社,2006.

        [3] 王曉軍,毛京麗.計算機通信網(wǎng)[M].北京:北京郵電出版社,2007.

        [4] 肖杰,譚慶平.基于J2EE的Web構(gòu)件平臺的設計[J].長沙大學學報,2005,19(3):43?47.

        [5] 田小波,陳蜀宇.MVC設計模式在J2EE架構(gòu)下的研究與應用[J].西華大學學報,2007(2):33?35.

        [6] 高振東.基于J2EE平臺的EJB技術(shù)研究與應用[J].航空計算技術(shù),2003,33(1):28?32.

        精品人妻码一区二区三区剧情| 免费人成视频欧美| 欧美在线播放一区二区| 91福利国产在线观一区二区| 亚洲人成绝费网站色www| 国产精品成人黄色大片| 国产精品高清视亚洲乱码| 国产精品一区二区av麻豆| 欧洲美女黑人粗性暴交| 午夜亚洲av永久无码精品| 国产在线手机视频| 亚洲欧美久久婷婷爱综合一区天堂 | 色婷婷av一区二区三区丝袜美腿| 亚洲一区二区日韩专区| 欧美激情一区二区三区成人| 成av人片一区二区三区久久| 国产精品三级在线观看| www.av在线.com| av网页免费在线观看| 最美女人体内射精一区二区| 国产av无码专区亚洲av蜜芽| 少妇太爽了在线观看免费视频| 在线亚洲AV成人无码一区小说| 国产毛片一区二区三区| 被灌醉的日本人妻中文字幕| 邻居少妇张开腿让我爽了一夜| 男受被做哭激烈娇喘gv视频| 97视频在线播放| 国产性感主播一区二区| 欧美精品欧美人与动人物牲交 | 99久久久国产精品丝袜| 经典亚洲一区二区三区| 国产精品国产自产自拍高清av| 日韩av高清在线观看| 老子影院午夜精品无码| 亚洲AV无码国产精品久久l| 国产色av一区二区三区| 怡红院av一区二区三区| 操出白浆在线观看| 亚洲综合小综合中文字幕| 丰满精品人妻一区二区|