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

        ?

        Android系統(tǒng)中LBS即時通訊應用的設計與開發(fā)

        2014-11-30 05:49:32黃曉亮
        惠州學院學報 2014年6期
        關鍵詞:即時通訊服務器端好友

        黃 震,黃曉亮

        (惠州學院 計算機科學系,廣東 惠州 516007)

        1 引言

        在智能手機和移動互聯(lián)網(wǎng)高速發(fā)展的今天,即時通訊應用占據(jù)了網(wǎng)絡中絕大多數(shù)的流量,其得益于能夠提供豐富的功能來滿足用戶的日常交流需要。國內(nèi)很多學者利用不同的技術對即時通訊應用進行了研究,賴曉京實現(xiàn)了基于Htm l5 WebSocket一個即時通訊系統(tǒng)[1],可以直接在網(wǎng)上登錄,避免了下載安裝軟件的麻煩;賀凌云等論述了基于局域網(wǎng)的即時通訊系統(tǒng)的設計方法[2];田源等研究了Protocol Buffers在即時通訊系統(tǒng)中的應用[3];方宣杰等設計了針對校園內(nèi)部使用的即時通訊平臺,避免了來自網(wǎng)上公眾信息的干擾,可以提升校園工作管理水平和辦公效率[4]。

        基于位置服務(Location Based Service)是借助電信或其他運營商的通訊網(wǎng)絡(如GSM網(wǎng)、CDMA網(wǎng))或其他方式(如GPS)獲得使用應用的用戶的位置信息(地理坐標),在地理信息系統(tǒng)的幫助下,為使用者反饋相應服務的一種增值業(yè)務。

        本程序實現(xiàn)了Android系統(tǒng)平臺上的LBS地理信息獲取、音視頻編碼、XMPP即時通訊傳輸協(xié)議[5,6]等綜合應用,能夠實現(xiàn)基本的即時通訊功能,同時結合了LBS服務,為用戶提供了更豐富的功能。服務器端與客戶端之間基于XMPP通訊協(xié)議,保證通訊的穩(wěn)定性和可靠性。

        2 程序功能分析

        即時通訊是一種基于互聯(lián)網(wǎng)的即時交流信息的業(yè)務,是一個終端服務,允許兩個人或者多人使用網(wǎng)絡即時的傳送文字等數(shù)據(jù)。因此,移動平臺上的即時通訊應用扮演著人與人之間交流橋梁的角色。用戶對提供即時通訊的移動端應用程序基本功能的要求,使本程序在包含基本需求的前提下,結合LBS核心功能和地理信息系統(tǒng),得出了服務器端與客戶端兩部分的程序功能分析。

        圖1 服務器端的會話管理流程圖

        服務器端的會話管理流程如圖1所示,服務器端的會話管理主要是XMPP服務器對客戶端發(fā)起的會話的內(nèi)容信息的即時分發(fā),包括賬號管理、用戶信息管理、聊天內(nèi)容管理、地理位置信息管理。服務器端中賬戶管理模塊對用戶賬號的注冊與登錄進行管理,同時保證賬號的唯一性;用戶信息管理對用戶信息的管理,包括用戶個人賬號、昵稱、性別和所在地的增刪查改;聊天內(nèi)容管理即時將相應的聊天信息分發(fā)到對應的賬號,保證客戶端接收消息的實時性;地理位置信息管理存儲客戶端上傳到服務器的位置信息,包括賬號、昵稱、經(jīng)度和緯度,并響應客戶端的位置信息檢索請求,反饋對應的位置信息列表到客戶端。

        客戶端的會話管理流程如圖2所示,客戶端會話管理主要是客戶端用戶登錄與注冊、好友管理、聊天記錄管理、文件共享管理、用戶信息管理、聊天會話和地理位置定位等??蛻舳酥械卿浥c注冊模塊依據(jù)用戶輸入的賬號和密碼進行非空檢測,同時發(fā)送相應的數(shù)據(jù)到服務器端進行校驗;個人信息管理模塊提供對用戶信息的查看,包括昵稱、年齡、性別、所在地,對用戶自身信息的修改;好友管理模塊提供根據(jù)賬號添加好友,查看好友個人信息,刪除好友功能;聊天管理模塊可進行文本會話、語音會話、視頻通話、文件發(fā)送和接收,并對本地聊天記錄進行保存;地理定位管理模塊對當前客戶端所在地理位置信息進行感知,包括經(jīng)度和緯度,并上傳服務器端同步,同時,可以從服務器端檢索附近存在的用戶信息,并根據(jù)其賬號添加對方為好友,然后進行聊天對話。

        圖2 客戶端的會話管理流程圖

        3 程序的設計

        3.1 服務器端數(shù)據(jù)庫

        在本程序功能分析的基礎上,結合XMPP即時通訊傳輸協(xié)議和Openfire開源實時協(xié)作服務器的功能特性,以Openfire默認數(shù)據(jù)庫管理模塊為出發(fā)點,擴展服務器端對用戶信息、好友信息、會話信息、多人聊天信息的管理,其中用戶個人信息表結構如圖3所示。

        圖3 用戶個人信息表(think_user)

        地理位置信息表結構如圖4所示。

        圖4 地理位置信息表(think_location)

        服務器端數(shù)據(jù)庫的E-R圖如圖5所示。

        圖5 擴展表與Openfire自帶數(shù)據(jù)庫關系圖

        3.2 客戶端數(shù)據(jù)庫

        客戶端數(shù)據(jù)庫中會話消息表結構設計如圖6所示。

        圖6 會話消息表(XCHAT_message)

        文件信息表結構如圖7所示。

        圖7 文件信息表(XCHAT_file)

        會話記錄表結構如圖8所示。

        圖8 會話記錄表(XCHAT_talk)

        客戶端數(shù)據(jù)庫的E-R圖如圖9所示。

        圖9 客戶端數(shù)據(jù)庫E-R圖

        3.3 架構設計

        在針對本程序功能分析和數(shù)據(jù)庫設計的基礎上,對本程序使用了三層架構(MVC)進行程序架構設計,服務器端結合Openfire、Apache Web服務器和ThinkPHP框架,協(xié)調(diào)處理客戶端與服務器的各種數(shù)據(jù)交換和數(shù)據(jù)處理,使用MySQL關系型數(shù)據(jù)庫儲存服務器端處理的數(shù)據(jù)信息。同時,客戶端亦遵循Android系統(tǒng)MVC架構,視圖層顯示用戶界面,控制層響應用戶操作,模型層處理與數(shù)據(jù)庫有關的操作等。

        4 程序的實現(xiàn)

        4.1 服務器端實現(xiàn)

        通過搭建開源即時協(xié)作服務器Openfire,即將本地服務器構建成為一個支持XMPP協(xié)議的XMPP服務器,所有遵從XMPP協(xié)議標準的應用程序都可以與此XMPP服務器建立連接。從而,本即時應用程序能夠在此基礎上擴展服務器的功能。在用戶信息管理模塊中,服務器端自動檢測客戶端發(fā)送的請求類型,并做出相應的響應動作,如響應客戶端的GET或POST方式的請求動作。

        4.2 客戶端實現(xiàn)

        4.2.1 用戶登錄和注冊模塊

        本程序客戶端中用戶登錄和注冊模塊對用戶的賬號進行管理和檢測,在用戶擁有合法賬號的前提下,使用其賬號登錄本程序,客戶端調(diào)用XMPPAPI中的login方法,檢驗用戶名和與之對應的密碼,即可正常使用本程序。本模塊視圖層的用戶界面如圖10所示。

        圖10 登錄和注冊

        4.2.2 用戶信息管理模塊

        用戶信息管理模塊具有用戶查看和修改自身賬號資料信息、查看其他用戶資料信息的功能,同時,支持修改用戶資料信息,并將信息提交到服務器端保存。數(shù)據(jù)操作上采用GET方式獲取用戶信息,采用POST上傳信息。本模塊視圖層用戶界面如圖11、圖12所示。

        圖11 用戶信息查看

        圖12 用戶信息修改

        4.2.3 好友管理模塊

        此模塊提供好友的添加和展示功能,用戶通過好友列表,可選擇好友進行聊天;通過對方賬號,在對方同意添加請求后,即可成為聊天好友并進行聊天。在實現(xiàn)方式上,客戶端調(diào)用XMPPAPI的createEntry方法和removeEntry方法,實現(xiàn)添加好友和刪除好友的功能。本模塊視圖層用戶界面如圖13、圖14所示。

        圖13 好友列表

        圖14 添加好友

        4.2.4 地理位置定位模塊

        地理位置定位模塊具有通過Android智能手機傳感器感知地理位置的功能,數(shù)據(jù)同步上傳至服務器,并能在其他客戶端上被用戶所檢索到,用戶通過附近的人可查看用戶信息和添加對方為好友。本程序所使用的定位服務為高德定位SDK,通過網(wǎng)絡、基站和GPS定位來獲取位置信息。本模塊視圖層用戶界面如圖15、圖16所示。

        圖15 附近的人

        圖16 附近的人列表操作

        4.2.5 聊天會話模塊

        聊天會話模塊具有一對一聊天和多人聊天功能。當用戶當前沒有正在與發(fā)送消息的好友進行聊天會話時,客戶端收到對方發(fā)送過來的消息后顯示在程序主界面上,當用戶正在與該用戶進行聊天時,客戶端則將消息直接顯示在聊天窗口的界面上,同時,用戶可以通過聊天窗口發(fā)送文件給對方。通過調(diào)用XMPPAPI的sendMessage方法發(fā)送會話消息,并監(jiān)聽對方發(fā)送過來的消息,同步顯示在聊天窗口上。除此,聊天窗口亦能夠進行音頻傳輸和視頻聊天。本模塊視圖層用戶界面如圖17至圖22所示。

        圖17 一對一聊天

        圖19 錄制語音消息

        圖20 接收語音消息

        圖21 視頻通話

        圖22 多人聊天

        5 程序實現(xiàn)的關鍵技術

        5.1 Speex音頻編解碼

        在智能手機終端進行語音消息的錄制時,由于設備性能和網(wǎng)絡傳輸速度的局限,對數(shù)據(jù)所占用的空間進行壓縮則成為提高程序執(zhí)行效率的有效方法。針對各種開源的免費音頻處理引擎,并在保證壓縮質(zhì)量、易于使用的前提下,Speex[7,8]就擁有這些優(yōu)點,并提供了不錯的性能。通過其處理的音頻數(shù)據(jù),能夠清晰地互相傳送,信息真實。

        另外,相對于其它編解碼器,在網(wǎng)絡應用上,Speex也非常適合網(wǎng)絡環(huán)境。Speex針對不同設備的噪音抑制功能有大致相同的效果,減少背景噪音,改善音質(zhì),自動增益控制(AGC)則就是用來處理這種情況的,它提供了一種調(diào)整信號為參考變量的方法。有時候會有丟包和錯誤時序的情況發(fā)生,特別在使用UDP方式進行數(shù)據(jù)傳輸?shù)臅r候,抖動緩沖的目的就是將它們緩沖到足夠長并對這些包進行重排序,然后交給編碼器進行解碼。

        在免提通訊系統(tǒng)中,聲音從遠端傳回本地的擴音器,麥克風就會捕獲房間內(nèi)的回聲,然后將其直接發(fā)送回遠端,遠端用戶就會聽到自己的回音。而回聲消除器就是為了將傳回遠端用戶的回聲消除,提高遠端用戶接收到的聲音質(zhì)量。

        5.2 網(wǎng)頁實時通信(Web Real-Time Communication)

        WebRTC[9,10]是一種支持網(wǎng)頁瀏覽器進行音視頻聊天的開源框架,基于javascript和P2P,在不同的瀏覽器之間構建起一個傳輸視頻和音頻數(shù)據(jù)的橋梁,使其擺脫客戶端的限制,并擁有不錯的多用戶接入特性。

        WebRTC的視頻模塊包括獲取視頻數(shù)據(jù)、視頻數(shù)據(jù)編碼、數(shù)據(jù)加密、多媒體文件和圖像的處理、視頻展示、網(wǎng)絡數(shù)據(jù)傳輸與流數(shù)據(jù)控制等功能。視頻采集(video-capture)支持多種媒體類型,如I420、YUY2、RGB、UYUY等,并可以進行幀大小和幀率控制;視頻編解碼(video-coding)采用I420/VP8編解碼技術,VP8能以更少的數(shù)據(jù)提供更高質(zhì)量的視頻;視頻加密(video-engine-encryption)相當于視頻應用層面的功能,給點對點的視頻雙方提供數(shù)據(jù)的安全保證,防止視頻數(shù)據(jù)的泄漏。數(shù)據(jù)加密采用密鑰對數(shù)據(jù)進行處理并在接收方對數(shù)據(jù)解密并顯示。同時,WebRTC還能對幀數(shù)據(jù)進行處理,增加亮度,提高清晰度,而且,還在不增加數(shù)據(jù)量和保證傳輸速度的情況下,可以動態(tài)改變視頻質(zhì)量,保證音視頻數(shù)據(jù)的正確。視頻顯示(video-render)則是用來進行圖像的渲染,在網(wǎng)絡傳輸和流控方面,WebRTC采用了成熟的RTP/RTCP技術。

        WebRTC技術最突出的特點就是通過瀏覽器就能進行視頻通訊,擺脫了客戶端的限制,只要一小段代碼,就能實現(xiàn)視頻通訊服務。

        6 結束語

        本文在對Android系統(tǒng)LBS即時通訊應用的開發(fā)基礎上,對XMPP協(xié)議和Android系統(tǒng)應用開發(fā)技術進行研究,結合音頻處理和視頻處理技術,實現(xiàn)了一個滿足基本需求的移動終端結合LBS特色的即時通訊應用,符合用戶對程序功能的基本要求。

        [1]賴曉京.基于Html5 WebSocket的即時通訊系統(tǒng)[J].電子技術與軟件工程,2013(17):61-62.

        [2]賀凌云,李明哲.基于Delphi的即時通訊系統(tǒng)的設計[J].物聯(lián)網(wǎng)技術,2013(4):60-62.

        [3]田源,潘晨光,丁杰.Protocol Buffers在即時通訊系統(tǒng)中的應用研究[J].現(xiàn)代電子技術,2014,31(5):32-34.

        [4]方宣杰,陳文生.校園即時通訊平臺的設計與實現(xiàn)[J].信息通信,2014(3):115-116.

        [5]李新路.XMPP協(xié)議在Android即時通訊系統(tǒng)中的應用[J].電腦知識與技術,2013,9(28):6268-6270.

        [6]齊幸輝,張庚,劉革,等.基于XMPP協(xié)議的文件傳輸模塊設計與實現(xiàn)[J].無線電工程,2014,44(3):1-4.

        [7]楊果,王亞潔,王晶.Speex編碼器中回聲消除算法的分析與評估[J].電聲技術,2014,37(9):52-55.

        [8]張立文,吳迪,宋占偉.基于Speex的嵌入式無線數(shù)字音頻交互系統(tǒng)[J].吉林大學學報,2013,31(4):353-358.

        [9]林鴻,王松,楊鑫,等.基于WebRTC技術的應用及平臺技術開發(fā)與設計[J].電信科學,2013,29(9):20-25.

        [10]董振江,李從兵,王蔚,等.移動互聯(lián)網(wǎng)WebRTC及相關技術[J].中興通訊技術,2013(6):28-32.

        猜你喜歡
        即時通訊服務器端好友
        屬羊
        民事訴訟中即時通訊記錄的證據(jù)采用進路
        淺析異步通信層的架構在ASP.NET 程序中的應用
        成功(2018年10期)2018-03-26 02:56:14
        刪除好友
        雜文月刊(2017年20期)2017-11-13 02:25:06
        即時通訊軟件發(fā)展模型的實證研究
        東方教育(2016年19期)2017-01-16 12:34:53
        科學技術哲學視域下的即時通訊
        科技傳播(2015年14期)2015-12-13 04:20:18
        在Windows中安裝OpenVPN
        即時通訊軟件WhatsApp
        CHIP新電腦(2015年10期)2015-10-15 18:03:55
        網(wǎng)頁防篡改中分布式文件同步復制系統(tǒng)
        基于Struts的Web應用系統(tǒng)數(shù)據(jù)驗證
        激情综合色综合久久综合| 亚洲成av人最新无码| 亚洲AV无码精品一区二区三区l| 一区二区三区国产视频在线观看| 狼人伊人影院在线观看国产| 欧美四房播播| 这里有精品可以观看| 亚洲AV无码久久久久调教| 日本av在线精品视频| 精品久久中文字幕系列| 狠狠躁夜夜躁av网站中文字幕| 亚洲国产成人精品无码一区二区| 日本乱人伦在线观看| 国产精品自产拍在线观看中文| 在线观看国产精品一区二区不卡| 精品熟人妻一区二区三区四区不卡| 国产精品无码av天天爽| 精品一区二区av天堂| 少妇人妻在线伊人春色| 色翁荡息又大又硬又粗视频| 老师翘臀高潮流白浆| 精品亚洲少妇一区二区三区| 看一区二区日本视频免费| 免费无码又爽又高潮视频| 日本japanese丰满多毛| 岛国成人在线| 亚洲一区二区三区新视频| 免费a级毛片高清在钱| 午夜精品久久久久久久久久久久| 日本视频一区二区三区免费观看 | 国产精品亚洲专区无码不卡 | 精品极品视频在线观看| 国产无套粉嫩白浆在线观看| 中文字幕喷水一区二区| 亚洲av第一区综合激情久久久 | 婷婷丁香社区| 91精品人妻一区二区三区蜜臀| 男人的天堂一区二av| 成人欧美一区二区三区的电影| 色播中文字幕在线视频| 国产麻豆一区二区三区在线播放|