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

        ?

        一種基于Java的IM即時(shí)通訊軟件的設(shè)計(jì)與實(shí)現(xiàn)

        2015-10-09 19:25:38李波楊雪飛
        科技資訊 2015年19期
        關(guān)鍵詞:即時(shí)通訊服務(wù)器端客戶端

        李波 楊雪飛

        摘 要:該文采用了具有面向?qū)ο筇攸c(diǎn)的Java語言來進(jìn)行程序設(shè)計(jì),提出了即時(shí)通訊服務(wù)器整體架的構(gòu)概念并且對(duì)即時(shí)通訊系統(tǒng)的功能及服務(wù)進(jìn)行了全面的分析。該系統(tǒng)軟件分別設(shè)計(jì)了客戶端以及服務(wù)器端,客戶端可以實(shí)現(xiàn)對(duì)基本的文字消息和相關(guān)文件進(jìn)行交流和傳遞,這在保障了網(wǎng)絡(luò)安全的基礎(chǔ)上也相對(duì)提高了效率。服務(wù)器端實(shí)現(xiàn)了對(duì)在線用戶的管理和維護(hù)功能,性能比較穩(wěn)定且簡單實(shí)用。系統(tǒng)軟件設(shè)計(jì)并實(shí)現(xiàn)了用戶注冊,登陸,用戶即時(shí)聊天,文件傳輸,聊天記錄管理,時(shí)鐘及文件傳輸記錄等相關(guān)功能。

        關(guān)鍵詞:即時(shí)通訊 Java Eclipse 客戶端 服務(wù)器端

        中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2015)07(a)-0018-03

        隨著飛速發(fā)展的移動(dòng)互聯(lián)網(wǎng),IM軟件已經(jīng)成為目前軟件中用戶使用頻率最高,并且用戶粘度最高的軟件之一,越來越多的人利用網(wǎng)上的資源來享受不斷完善且發(fā)展的網(wǎng)絡(luò)服務(wù),網(wǎng)絡(luò)技術(shù)也被越來越多的應(yīng)用于人們生活的各個(gè)領(lǐng)域,而如何更有效的處理用戶的請(qǐng)求,服務(wù)器如何更加易于維護(hù)和更新就成了比較重要的問題。該項(xiàng)目該論文主要特征是動(dòng)態(tài)的、實(shí)時(shí)的完成信息的讀取、發(fā)送,利用流來實(shí)現(xiàn)信息的交換,并且具有高效的交互性,能夠較好的滿足了運(yùn)行環(huán)境的需求和用戶的要求。

        近年來,隨著計(jì)算機(jī)硬件技術(shù)的發(fā)展,硬件方面的制約越來越小,并且伴隨著不斷推出的心得通信技術(shù),和不斷改進(jìn)的網(wǎng)絡(luò)條件,集成多個(gè)功能的IM軟件,已經(jīng)使得越來越多的用戶感受到了網(wǎng)絡(luò)的便利。同時(shí)即時(shí)通訊軟件也具有較低的成本,一系列的便利性也促使人們對(duì)這個(gè)領(lǐng)域更加深入的探索,這對(duì)于加強(qiáng)信息交流溝通的質(zhì)量和效率都具有較為重要的作用[1]。

        1 系統(tǒng)功能簡介

        1.1 客戶端

        (1)用戶注冊功能,使用戶進(jìn)行賬號(hào)注冊并完成相關(guān)信息的填寫。

        (2)用戶登錄功能,保證用戶能夠安全的登錄軟件,進(jìn)入聊天界面。

        (3)聊天功能,實(shí)現(xiàn)在線用戶和用戶之間兩人或多人的在線溝通交流。

        (4)文件傳輸,在線用戶兩兩之間可進(jìn)行文件的相互傳輸。

        (5)聊天記錄功能,實(shí)現(xiàn)當(dāng)前用戶能夠查閱已保存的聊天內(nèi)容。

        1.2 服務(wù)器端

        (1)對(duì)用戶登錄信息進(jìn)行管理,并且進(jìn)行保存,以供后續(xù)查詢和處理。

        (2)能夠向所有用戶發(fā)送系統(tǒng)消息。

        (3)保存并顯示用戶之間的通話記錄內(nèi)容以及文件傳輸記錄,將該信息儲(chǔ)存在文件中,能夠滿足后續(xù)的查詢,并且在控制臺(tái)將其輸出,能夠完成實(shí)時(shí)的信息預(yù)覽[2]。

        2 通訊軟件系統(tǒng)客戶端的設(shè)計(jì)

        2.1 圖形界面的設(shè)計(jì)實(shí)現(xiàn)

        該IM軟件采用C/S的工作模式,客戶端能夠?qū)崿F(xiàn)圖像界面的展示,方便用戶之間交流和更多的邏輯交互。以下為圖形界面實(shí)現(xiàn)相關(guān)類及方法的說明:

        (1) setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));

        應(yīng)用Border類來進(jìn)行邊框的寬度及高度設(shè)置,以便用戶輸入昵稱及密碼。登陸界面方面CellRenderer:JList里的一個(gè)元素,當(dāng)選擇和未選擇的時(shí)候,會(huì)有不同的背景色樣式。

        UUListModel類繼承自AbstractListModel,實(shí)現(xiàn)了父類的抽象方法,可以作為JList的數(shù)據(jù)模型。

        (2)public Chatroom(String u_name, Socket client) {

        name=u_name;

        clientSocket=client;

        onlines=newVector();

        其中CatChatroom類繼承自Jframe,用戶聊天窗口的界面。由公共聊天區(qū)域,個(gè)人打字區(qū)域,發(fā)送文件區(qū)域,開始按鈕,關(guān)閉按鈕,在線用戶列表,發(fā)送文件區(qū)域等部分組成。它綁定了客戶端socket對(duì)象,可以實(shí)現(xiàn)向服務(wù)器端發(fā)送各種類型的消息的功能。

        (3)final JButton btnNewButton=new JButton("\u5173\u95ED");

        btnNewButton.setBounds(214,448,60,30);

        getContentPane().add(btnNewButton); //關(guān)閉按鈕功能

        發(fā)送按鈕功能:在用戶點(diǎn)擊的時(shí)候,會(huì)獲取當(dāng)前輸入框的內(nèi)容,并檢查選擇的對(duì)象,將內(nèi)容發(fā)送出去,如圖1所示[3]。

        2.2 消息及文件的收發(fā)

        消息的收發(fā)使用了socket編程,簡單而言,在客戶端用戶登陸成功后,服務(wù)器端會(huì)對(duì)客戶端進(jìn)行一個(gè)Socket的建立和相應(yīng)端口的分發(fā),因此,服務(wù)器端應(yīng)用程序只用檢測該端口的數(shù)據(jù)就能夠確定是當(dāng)前用戶中的哪一個(gè)進(jìn)行數(shù)據(jù)的分發(fā),在服務(wù)器端得到相對(duì)應(yīng)端口的數(shù)據(jù)時(shí),根據(jù)用戶的消息和相對(duì)應(yīng)的處理邏輯進(jìn)行數(shù)據(jù)的處理。

        其中ServerSocket的工作流程可以描述如下:首先使用ServerSocket方法選取服務(wù)器的某個(gè)端口進(jìn)行連接的建立,并且監(jiān)聽該端口。之后建立的對(duì)象在ServerSocket指定的端口利用accept的方法對(duì)信息進(jìn)行監(jiān)聽,一直到檢測有來自客戶端發(fā)送的試圖連接服務(wù)器的請(qǐng)求,accept方法才能由之前一直阻塞的狀態(tài)改變?yōu)橥〞碃顟B(tài)。同時(shí)返回到服務(wù)器端使客戶端的Socket接口與服務(wù)器端的Socket接口進(jìn)行連接。再來依據(jù)服務(wù)器中g(shù)etInputStream、getOutputStream的類型調(diào)用方法中的一個(gè)或兩個(gè)來建立與客戶端進(jìn)行交互的輸出流和輸入流。在這個(gè)整個(gè)過程中,服務(wù)器與客戶端是依據(jù)一定的協(xié)議來進(jìn)行交互的,直到二者的連接關(guān)閉為止。最后服務(wù)器或客戶端或兩個(gè)都關(guān)閉連接之后服務(wù)器才能繼續(xù)監(jiān)聽來自客戶端的下一次連接,如圖2所示[4]。

        3 通訊軟件系統(tǒng)服務(wù)器端的設(shè)計(jì)

        作為網(wǎng)絡(luò)節(jié)點(diǎn)的服務(wù)器端,其主要作用會(huì)存儲(chǔ)并處理網(wǎng)絡(luò)上的大部分?jǐn)?shù)據(jù),該項(xiàng)目中設(shè)計(jì)的服務(wù)器端用來監(jiān)聽來自客戶端發(fā)送的相關(guān)信息,并且進(jìn)行來自客戶端的信息管理,作用類似于網(wǎng)絡(luò)服務(wù)器。

        作為服務(wù)器端,主要工作內(nèi)容為:接受客戶端的消息,并根據(jù)消息類型進(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā)和存儲(chǔ),作用非常相似與目前網(wǎng)絡(luò)體系中的網(wǎng)絡(luò)服務(wù)器。

        服務(wù)器的作用就是承載各種各樣的數(shù)據(jù),和軟件編寫者的處理邏輯,并且同時(shí)根據(jù)接收到的消息類型的不同,跳轉(zhuǎn)至不同的處理邏輯,進(jìn)行數(shù)據(jù)的梳理。同時(shí)轉(zhuǎn)發(fā)數(shù)據(jù),處理數(shù)據(jù),存儲(chǔ)記錄,打印日志。

        該即時(shí)通訊軟件系統(tǒng)首先必須開啟服務(wù)器端進(jìn)行不斷的監(jiān)聽并即時(shí)反饋,當(dāng)客戶端用戶上線并交流,服務(wù)器日志會(huì)記錄相關(guān)通話內(nèi)容和時(shí)鐘顯示,當(dāng)用戶之間發(fā)送文件,同樣會(huì)顯示文件大小以及保存位置等相關(guān)信息,如圖3所示[5]。

        4 測試過程及結(jié)果

        該IM軟件系統(tǒng)進(jìn)行代碼部分的編寫工作完成后,需要進(jìn)行一些列的測試工作,不僅要測試系統(tǒng)各個(gè)方面的執(zhí)行準(zhǔn)確性,還要測試高效性和交互性等很多“軟實(shí)力”。

        該即時(shí)通訊系統(tǒng)通過Java語言在Eclipse平臺(tái)上實(shí)現(xiàn)。測試結(jié)果如下:

        (1) 服務(wù)器端能夠正確并且順利的啟動(dòng),并且能夠監(jiān)聽客戶端的行為。

        (2) 客戶端界面能夠?qū)崿F(xiàn)。完成用戶的注冊功能,使用戶能夠輸入昵稱、密碼及再次確認(rèn)密碼。

        (3)客戶端能夠完成用戶的登錄,并且檢測輸入的用戶名和密碼是否匹配,以及該用戶名是否存在于當(dāng)前系統(tǒng)中,如果密碼錯(cuò)誤,則提示錯(cuò)誤信息,并且提示用戶再次輸入。

        (4) 客戶端文件傳輸功能實(shí)現(xiàn)。雙擊選擇用戶進(jìn)行文件的傳輸,接收方可選擇接收或不接收,之后可選擇存儲(chǔ)位置,同時(shí)有進(jìn)度條顯示進(jìn)程。

        (5) 客戶端私聊及群聊功能實(shí)現(xiàn)。用戶可選擇一個(gè)或多個(gè)用戶進(jìn)行溝通交流。

        (6) 客戶端字體及大小的設(shè)置。用戶可以調(diào)整字形及字體的大小

        (7) 服務(wù)器端日志記錄用戶相關(guān)操作。從開始服務(wù)器啟動(dòng),到用戶上線提示,再到聊天記錄以及文件傳輸記錄均能夠顯示在日志當(dāng)中,方便查閱。

        5 結(jié)語

        目前來講,其實(shí)即時(shí)通訊軟件在生活中已經(jīng)較為常見,但從一定程度上來講,許多都是側(cè)重于娛樂功能的開發(fā),用于實(shí)現(xiàn)單一通訊以及傳輸文件信息的軟件較為缺少。在點(diǎn)對(duì)點(diǎn)交流的同時(shí),擺脫了對(duì)遠(yuǎn)程服務(wù)器的依賴,避免浪費(fèi)過的網(wǎng)絡(luò)資源,具有較好的實(shí)用性。在此次即時(shí)通訊軟件系統(tǒng)的設(shè)計(jì)過程中,詳細(xì)闡述了一個(gè)即時(shí)通訊軟件模型的設(shè)計(jì)思路,并對(duì)各個(gè)模塊概念及功能及技術(shù)分別進(jìn)行了分析,最終完成了一個(gè)相對(duì)成熟的設(shè)計(jì)方案。

        參考文獻(xiàn)

        [1] 馮博,應(yīng)群.面向?qū)ο蟮腏ava網(wǎng)絡(luò)編程[M].北京:清華大學(xué)出版社,2003.

        [2] 印旻.Java語言與面向?qū)ο蟪绦蛟O(shè)計(jì)[M].北京:清華大學(xué)出版社,2000:256-230.

        [3] Bruce Eckel著.陳昊鵬譯.Java編程思想[M].北京:人民郵電出版社,2004.

        [4] 吳越勝,李新磊,等.Eclipse 3.0程序開發(fā)技術(shù)詳解[M].北京:清華大學(xué)出版社,2010.

        [5] 翟高粵,基于Java語言Socket C/S通信的實(shí)現(xiàn)方法[J].甘肅科技縱橫,2005(6):28-29,202.

        猜你喜歡
        即時(shí)通訊服務(wù)器端客戶端
        縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
        孵化垂直頻道:新聞客戶端新策略
        基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
        電子測試(2018年10期)2018-06-26 05:53:34
        民事訴訟中即時(shí)通訊記錄的證據(jù)采用進(jìn)路
        淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
        成功(2018年10期)2018-03-26 02:56:14
        即時(shí)通訊軟件發(fā)展模型的實(shí)證研究
        東方教育(2016年19期)2017-01-16 12:34:53
        科學(xué)技術(shù)哲學(xué)視域下的即時(shí)通訊
        科技傳播(2015年14期)2015-12-13 04:20:18
        在Windows中安裝OpenVPN
        即時(shí)通訊軟件WhatsApp
        CHIP新電腦(2015年10期)2015-10-15 18:03:55
        客戶端空間數(shù)據(jù)緩存策略
        国产在线精品欧美日韩电影| 精品国产一区二区三区a| 狠狠爱婷婷网五月天久久| 欧美激情视频一区二区三区免费| 国产成人精品a视频| 国产69精品久久久久9999| 国产精品久久久亚洲第一牛牛| 国产日韩精品视频一区二区三区| 亚洲av日韩专区在线观看| 欧美xxxx做受欧美88| 亚洲国产精品第一区二区| 99热最新在线观看| 国产成人自拍视频在线免费| 新视觉亚洲三区二区一区理伦| 亚洲中文无码av永久| 人人妻人人澡人人爽欧美一区九九| 厨房玩丰满人妻hd完整版视频 | 国产福利97精品一区二区| 日韩国产一区二区三区在线观看 | 国产国产人免费人成免费视频| 老色鬼永久精品网站| 激情 一区二区| 亚洲综合国产精品一区二区| 久久久久久久久无码精品亚洲日韩| 亚洲a∨国产av综合av下载| 真人男女做爰无遮挡免费视频| 日本av一区二区播放| 国产一区二区免费在线视频| 亚洲av高清在线观看一区二区 | 成人影片麻豆国产影片免费观看 | 久久精品中文字幕久久| 色婷婷久久综合中文久久一本| 婷婷亚洲岛国热超碰中文字幕| 中文字幕人妻被公上司喝醉| 中文字幕+乱码+中文字幕无忧| 国产熟女自拍视频网站| 一区二区视频在线国产| 欧美综合天天夜夜久久| 亚洲成人小说| 亚洲人av毛片一区二区| 日本一区二区三区亚洲|