亚洲免费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.

        后入少妇免费在线观看| 自拍偷自拍亚洲精品播放| 国产系列丝袜熟女精品视频| 免费一区二区三区av| 国产日韩厂亚洲字幕中文| 天天躁夜夜躁天干天干2020| 国产精品11p| 日韩一二三四区免费观看| 自拍偷自拍亚洲精品第按摩 | 日本公与熄乱理在线播放| 91久久国产精品视频| 色婷婷精久久品蜜臀av蜜桃| 精品含羞草免费视频观看| 国产乱妇乱子在线播视频播放网站| 久久亚洲伊人| 好看的中文字幕中文在线| 精品人妻一区二区三区四区在线| 少妇人妻偷人精品视蜜桃| 男人深夜影院无码观看| 国产丝袜爆操在线观看| 国产成人无码精品久久二区三区| 日韩精品中文字幕无码专区| 黄网站a毛片免费观看久久| 日本最新一区二区三区视频观看 | 丝袜美腿在线观看视频| 欧洲多毛裸体xxxxx| 丁香五月缴情综合网| 国产成人自拍视频在线免费| 日韩亚洲无吗av一区二区| 国产成人精品综合在线观看| 97人妻视频妓女网| 亚洲av一二三四五区在线| 亚洲日韩中文字幕无码一区| 国产精品一区二区久久精品| 热热久久超碰精品中文字幕| av天堂精品久久综合网| 国产成人精品av| 亚洲啪啪AⅤ一区二区三区| 亚洲永久国产中文字幕| 久久久久久亚洲精品中文字幕| 亚洲h电影|