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

        ?

        基于Jersey和Retrofit框架的在線聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        2020-04-14 04:54:29鄧居旺王杰許敏
        電腦知識(shí)與技術(shù) 2020年4期
        關(guān)鍵詞:即時(shí)通訊服務(wù)端聊天

        鄧居旺 王杰 許敏

        摘要:伴隨著互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,信息交流是人們生活中必不可少的一環(huán),作為信息交流的支撐,在線聊天系統(tǒng)已成為信息交流的重要途徑。在實(shí)際應(yīng)用中,滿足用戶在線聊天的情況下,用戶體驗(yàn)、信息安全、已成為衡量在線聊天的一個(gè)重要指標(biāo),如何在適度的成本下,為企業(yè)設(shè)計(jì)并開發(fā)一個(gè)用戶體驗(yàn)良好,信息安全的在線聊天系統(tǒng),有著一定的需求。文章中基于Jersey和Retrofit框架的在線聊天系統(tǒng)不僅實(shí)現(xiàn)了在線聊天的功能,還使用了基于Jersey和Retrofit框架,解決了用戶體驗(yàn)差以及用戶信息暴露的問題。

        關(guān)鍵詞:在線聊天系統(tǒng);Jersey和Retrofit框架;用戶體驗(yàn);信息安全

        中圖分類號(hào):TP311

        文獻(xiàn)標(biāo)識(shí)碼:A

        文章編號(hào):1009-3044(2020)04-0032-03

        Design and Implementation of Online Chat System Based on Jersey and Retrofit Framework

        DENG Ju-wang1,WANG Jie2,XU Min1

        (1.School of Internet of Things Technology,Wuxi Institute of Technology,Wuxi 214121,China;2.Test Business Department,Wuxi Olanto Technology Co.,Ltd,Wuxi 214000,China)

        Abstract:With the rapid development of Internet technology,information exchange is an essential part of people's life.As the support of information exchange,online chat system has become an important way of information exchange.In practical application,to meet the needs of online chat,user experience and information security have become an important indicator of online chat.How to design and develop an online chat system with good user experience and information security for enterprises at a moderate cost has a certain demand.In this paper,the online chat system Based on the Jersey and retrofit framework not only realizes the online chat function,but also uses the Jersey and retrofit framework to solve the problem of poor user experience and user information exposure.

        Key words:online chat system;Jersey and retrofit framework;user experience;infonnation security

        隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,在線聊天系統(tǒng)的需求日益增長(zhǎng)[1],騰訊2019年第一季度微信活躍賬戶數(shù)已達(dá)11.12億,同比增長(zhǎng)6.9%,繁榮的背后離不開大量用戶的積極參與,也離不開在線聊天系統(tǒng)的良好用戶體驗(yàn)和信息安全。當(dāng)前在線聊天是對(duì)信息交流的新需求,早期人們的信息交流是通過口耳相傳,文字發(fā)明后,人們傾向于使用書信進(jìn)行信息交流,但都要遭受時(shí)間和空間的限制⑵。到了20世紀(jì)70年代,Email的出現(xiàn)意味著人們不用再遭受時(shí)間和空間的限制[2],人們可以隨時(shí)使用Email進(jìn)行信息交流[3]。到了21世紀(jì)之后,由于Email和短信不再能滿足人們交流的需求,即時(shí)通訊出現(xiàn)了,人們可以通過使用即時(shí)通訊工具,進(jìn)行文字、視頻或語音的實(shí)時(shí)交流[4],但大部分都是基于PC端的。在2010年之后,中國(guó)互聯(lián)網(wǎng)用戶數(shù)日新月盛,尤其是以移動(dòng)手機(jī)為載體的中國(guó)手機(jī)互聯(lián)網(wǎng)用戶[5]。現(xiàn)階段信息交流對(duì)在線聊天系統(tǒng)提出了新的要求,不僅要完成在線聊天的基礎(chǔ)功能,還需要保證用戶的信息安全不被泄露,給用戶更好的體驗(yàn),根據(jù)每一位用戶個(gè)性化定制服務(wù)[6]。

        1 需求分析

        隨著互聯(lián)網(wǎng)時(shí)代的發(fā)展,在線聊天無處不在,聊天系統(tǒng)的用戶體驗(yàn)以及信息安全也得到了越來越大的重視[7],從中小型企業(yè)的角度來看,考慮到成本問題,很難開發(fā)出一套用戶體驗(yàn)良好并且能保證信息安全的在線聊天系統(tǒng);另外,如果把在自己的業(yè)務(wù)托管到微信、QQ、阿里旺旺等,那么自己的客戶資源就會(huì)被暴露出來,無形中降低了競(jìng)爭(zhēng)力。因此,如何在適度成本下,為中小型企業(yè)設(shè)計(jì)并開發(fā)用戶體驗(yàn)良好并信息安全的,有著現(xiàn)實(shí)的需求。

        針對(duì)這類需求,本研究設(shè)計(jì)并開發(fā)基于Jersey和Retrofit框架的在線聊天系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)了在線聊天、群操作、好友操作等基本功能如圖1,并具有如下特性:

        (1)釆用MVP(全稱:ModelViewPresenter)模式,保證了系統(tǒng)的簡(jiǎn)潔性、靈活性。

        (2)釆用Retrofit框架,減少了開發(fā)者使用Android原生接口帶來的性能的損耗和問題。

        (3)釆用第三方平臺(tái)推送,成本低、消息到達(dá)率高。

        (4)登錄訪問控制,保證信息安全。

        2 系統(tǒng)功能概述

        本系統(tǒng)功能主要分為Android端功能需求和服務(wù)器端功能需求以及非功能需求,具體功能概述如圖2所示。

        3 主要技術(shù)實(shí)現(xiàn)方法

        3.1 MVP模式設(shè)計(jì)

        MVP(全稱:Model View Presenter)模式,是我們熟悉的MVC(全稱:Model View Control)模式的演化版本,如圖3所示MVP與MVC的主要區(qū)別是View與Model不直接交互,而是通過與Presenter來完成交互,這樣可以修改視圖而不影響模型,達(dá)到解耦的目的,實(shí)現(xiàn)了Model和View真正的完全分離[8]。MVP模式會(huì)解除View和Model的耦合,同時(shí)又給整個(gè)系統(tǒng)帶來良好的擴(kuò)展性、可測(cè)試性,保證了系統(tǒng)的簡(jiǎn)潔性、靈活性。

        基于Jersey和Retrofit的在線聊天系統(tǒng)釆用C/S結(jié)構(gòu)開發(fā),分為Android客戶端和服務(wù)端兩個(gè)部分,使用OSS存儲(chǔ)圖片和語音,最后使用第三方推送平臺(tái)進(jìn)行推送。

        Android客戶端釆用的是MVP+Retrofit開發(fā),登錄的時(shí)候需要生成獨(dú)有的Token才能完成與服務(wù)器的對(duì)接,處理后續(xù)的操作都是建立在Token的基礎(chǔ)上。除此之外,如果想要進(jìn)行消息的發(fā)送,還需要生成第三方推送的PUSHID(推送主鍵),才能夠進(jìn)行推送。

        服務(wù)器端釆用的Jersey+Hibernate開發(fā),用戶登錄的時(shí)候服務(wù)器需要驗(yàn)證用戶的Tokeno用戶發(fā)送消息,需先經(jīng)過服務(wù)器的處理,才發(fā)送給第三方推送平臺(tái),最后推送給Android客戶端。

        3.2 Jersey和Retrofit框架

        JerseyRESTful框架是開源的RESTful框架,實(shí)現(xiàn)了JAX-RS(JSR311和JSR399)規(guī)范[9]。在功能上,Jersey和Struts類似,并且同樣支持與Spring和Hibernate的結(jié)合。在本系統(tǒng)的服務(wù)端,就是通過Jersey+Hibernate實(shí)現(xiàn)的。Jersey框架使用注解簡(jiǎn)化了請(qǐng)求式服務(wù),支持異步調(diào)用,并且支持xml和Json的數(shù)據(jù)格式。

        Retrofit是一個(gè)可用于Android的網(wǎng)絡(luò)庫(kù)。Retrofit不是網(wǎng)絡(luò)框架,它實(shí)現(xiàn)了對(duì)網(wǎng)絡(luò)框架OkHttp的完美封裝,真正的網(wǎng)絡(luò)請(qǐng)求工作由OkHttp實(shí)現(xiàn)。Retrofit能夠簡(jiǎn)化開發(fā)者對(duì)網(wǎng)絡(luò)部分的工作,提高開發(fā)者的效率和正確性,減少開發(fā)者直接使用Android原生接口帶來的性能損耗。

        3.3 第三方消息推送平臺(tái)

        本課題主要研究的是以Android為主體的移動(dòng)端即時(shí)通訊軟件,想要實(shí)現(xiàn)即時(shí)通訊的功能,一般會(huì)有如下幾種方案:

        1)第三方平臺(tái)集成即時(shí)通訊,無須做任何實(shí)現(xiàn)。

        2)spark+smack+openfire套餐,這個(gè)方案基于XMPP,負(fù)載重。

        3)嵌入第三方推送的SDK,這個(gè)方案簡(jiǎn)單實(shí)用。

        4)Socket長(zhǎng)連接,適合簡(jiǎn)單地使用,影響服務(wù)器的性能。

        5)基于XMPP自己實(shí)現(xiàn),工作量復(fù)雜,負(fù)載重。

        綜合以上的優(yōu)缺點(diǎn),最終選擇通過第三方推送實(shí)現(xiàn)。相比較于其他推送方式,使用第三方推送平臺(tái)進(jìn)行推送有著成本低(推送平臺(tái)的推送免費(fèi),如果自己實(shí)現(xiàn)需要消耗很多資源)消息的到達(dá)率高等優(yōu)點(diǎn)。推送流程圖如圖3所示。

        3.4 登錄、訪問控制的實(shí)現(xiàn)

        Android即時(shí)通訊的登錄模塊也是整個(gè)系統(tǒng)的重要一環(huán),系統(tǒng)需要保證登錄的安全性、穩(wěn)定性和簡(jiǎn)要性[10]。本系統(tǒng)的登錄驗(yàn)證流程如下:

        l)Android客戶端初始化的時(shí)候會(huì)從個(gè)推的服務(wù)器獲取設(shè)備的Pushld,并存儲(chǔ)到手機(jī)里;

        2)用戶在即時(shí)通訊的客戶端輸入用戶名和密碼,點(diǎn)擊登錄;

        3)Android即時(shí)通訊客戶端需要確保賬號(hào)匹配電話號(hào)碼的正則表達(dá)式和密碼大于6位;密碼和賬號(hào)滿足的情況下,進(jìn)行下一步操作,否則,提示用戶如何輸入;

        4)Android即時(shí)通訊客戶端對(duì)用戶輸入的密碼進(jìn)行MD5加密;

        5)即時(shí)通訊系統(tǒng)將用戶輸入的賬號(hào)、密碼和Pushld封裝成實(shí)體,創(chuàng)建Socket,發(fā)送網(wǎng)絡(luò)請(qǐng)求;

        6)服務(wù)器在接收到用戶的網(wǎng)絡(luò)請(qǐng)求,解析當(dāng)前的數(shù)據(jù)并判斷當(dāng)前的數(shù)據(jù)是否規(guī)范,不規(guī)范就返回當(dāng)前的信息不合格;

        7)合格的情況下,判斷當(dāng)前的Pushld是否跟數(shù)據(jù)庫(kù)中的Pushld是否相同,不相同的情況下,強(qiáng)制之前的設(shè)備下線,并使用UUID隨機(jī)生成新的Token,返回給客戶端;

        8)客戶端在接收到新的Token存儲(chǔ)到當(dāng)前的設(shè)備。

        因?yàn)榉?wù)端接口的暴露性,因此我們得注意服務(wù)端接口的安全性,避免任何請(qǐng)求都能活到本系統(tǒng)的數(shù)據(jù)這樣的情況的發(fā)生。由于本系統(tǒng)采用的Jersey框架開發(fā),Jersey框架是開源的RESTful框架,眾所周知,RESTful接口沒有狀態(tài),也就是說對(duì)App端的所有請(qǐng)求都需要響應(yīng)。通過在請(qǐng)求頭里面加入Token,實(shí)現(xiàn)了對(duì)服務(wù)端接口的訪問控制。用戶登錄成功后,服務(wù)端通過UUID隨機(jī)生成一個(gè)Token,封裝成用戶信息返回給客戶端,客戶端接收到Token之后,存儲(chǔ)到當(dāng)前手機(jī),每次訪問服務(wù)端接口的時(shí)候,都將Token放入請(qǐng)求頭中傳給服務(wù)器端,服務(wù)端驗(yàn)證Token之后,才能進(jìn)行下一步的訪問。

        在客戶端發(fā)送網(wǎng)絡(luò)請(qǐng)求的時(shí),判斷當(dāng)前是否存在Token,存在的情況下,在請(qǐng)求頭里面添加Token,步驟如下:服務(wù)端初始化之前,在Application里面注冊(cè)一個(gè)全局的攔截器,攔截非注冊(cè)和登錄的其他不包含Token的請(qǐng)求。當(dāng)服務(wù)端接收到客戶端的請(qǐng)求之后,獲取請(qǐng)求頭里面的Token,如果Token存在,則查詢對(duì)應(yīng)的用戶,當(dāng)用戶存在的時(shí)候,直接返回。否則,就返回賬戶異常,最終攔截該請(qǐng)求的繼續(xù)下發(fā)。如圖5訪問控制流程圖所示。

        4 結(jié)束語

        本研究所設(shè)計(jì)的系統(tǒng)具有以下特點(diǎn):本系統(tǒng)釆用MVP模式,MVP模式會(huì)解除View和Model的耦合,同時(shí)又給整個(gè)系統(tǒng)帶來良好的擴(kuò)展性、可測(cè)試性,保證了系統(tǒng)的簡(jiǎn)潔性、靈活性;釆用Jersey和Retrofit框架,提高開發(fā)者的效率和正確性,減少了開發(fā)者使用Android原生接口帶來的性能的損耗和問題;使用第三方消息推送平臺(tái),確保了低成本的情況下有較高的消息到達(dá)率;登錄和訪問受控制,保證了聊天系統(tǒng)的安全性。

        參考文獻(xiàn):

        [1] 何燕青.基于ASP.NET的網(wǎng)上訂餐系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2014.

        [2] 郭宇.移動(dòng)互聯(lián)網(wǎng)時(shí)代電信運(yùn)營(yíng)商商業(yè)模式創(chuàng)新研究[D].南昌:江西財(cái)經(jīng)大學(xué),2014.

        [3] 周利榮.傳播媒介發(fā)展與文學(xué)文體演變研究[D].西安:陜西師范大學(xué),2012.

        [4] 吳保來.基于互聯(lián)網(wǎng)的社交網(wǎng)絡(luò)研究[D].北京:中共中央黨校,2013.

        [5] 彭歡.移動(dòng)互聯(lián)網(wǎng)使用與滿足研究[D].長(zhǎng)沙:湖南師范大學(xué),2012.

        [6] 蔣杉杉.手機(jī)APP廣告點(diǎn)擊意愿的影響因素研究[D].成都:電子科技大學(xué),2013.

        [7] 吳祐昕.Web2.0背景下的新興文化創(chuàng)意產(chǎn)業(yè)研究[D].上海:復(fù)旦大學(xué),2013.

        [8] 鄧志宏,張智,李建奇,等.基于MVP模式的進(jìn)銷存系統(tǒng)的軟件架構(gòu)設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程,2010,38(12):96-99.

        [9] 王傳琦.基于RESTful移動(dòng)教學(xué)輔助系統(tǒng)研究與實(shí)現(xiàn)[D].沈陽:遼寧大學(xué),2017.

        [10] 呂留記.基于Android的即時(shí)通訊系統(tǒng)的研究與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2016.

        [通聯(lián)編輯:代影]

        猜你喜歡
        即時(shí)通訊服務(wù)端聊天
        云存儲(chǔ)中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
        新時(shí)期《移動(dòng)Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
        民事訴訟中即時(shí)通訊記錄的證據(jù)采用進(jìn)路
        在Windows Server 2008上創(chuàng)建應(yīng)用
        我就是不想跟你聊天了
        意林(2017年9期)2017-06-06 10:26:12
        敞開門聊天
        即時(shí)通訊軟件發(fā)展模型的實(shí)證研究
        東方教育(2016年19期)2017-01-16 12:34:53
        科學(xué)技術(shù)哲學(xué)視域下的即時(shí)通訊
        科技傳播(2015年14期)2015-12-13 04:20:18
        即時(shí)通訊軟件WhatsApp
        CHIP新電腦(2015年10期)2015-10-15 18:03:55
        “鴿子”玩升級(jí) 黑你沒商量
        亚洲av午夜福利精品一区二区| 亚洲天堂一区二区三区| 精品国产车一区二区三区| 国产精品国产三级国产an不卡| 国产精品婷婷久久爽一下| 不卡一卡二卡三乱码免费网站| 国产真实夫妇视频| 国产中老年妇女精品| 天天综合久久| 亚洲无码观看a| 五月激情四射开心久久久| 亚洲精品国产精品乱码视色| 欧美另类人妖| 国产亚洲av人片在线观看| 亚洲AⅤ无码片一区二区三区| 狠狠色欧美亚洲综合色黑a| 久久青青草原亚洲av| 国产自拍精品一区在线观看| 欧美牲交a欧美牲交aⅴ免费真| 欧美freesex黑人又粗又大| 日本在线视频网站www色下载| 女人被躁到高潮嗷嗷叫免费软| 国产精品女丝袜白丝袜美腿| 国产熟妇疯狂4p交在线播放| 亚洲av无码一区二区二三区| 欧美亚洲另类自拍偷在线拍| 国产三级c片在线观看| 亚洲最大中文字幕在线| 色噜噜av亚洲色一区二区| 精品人妻无码中文字幕在线| 日韩av中文字幕亚洲天| 国产成人国产三级国产精品| 国产精品白浆在线观看免费| 亚洲精品无码人妻无码| 国产精品欧美韩国日本久久| 一区二区视频资源在线观看| 草草影院发布页| 野花社区www高清视频| 久久久久久国产福利网站| 日本免费一区二区久久久| 国产欧美一区二区精品久久久|