• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于JAVA的聊天軟件設計與實現(xiàn)

      2017-07-10 07:25郝勝華張素華
      電腦知識與技術(shù) 2017年14期

      郝勝華+張素華

      摘要:該文詳細描述了基于JAVA語言的即時通信系統(tǒng)的設計過程。本設計由客戶端和服務器端兩大部分構(gòu)成,采用傳統(tǒng)的C/S設計模式,主要通過JAVA中的Socket協(xié)議進行通信。本設計簡單,易懂,通過簡單的服務器端程序和客戶端程序來實現(xiàn)即時通信,具有一定的使用價值。

      關(guān)鍵詞:JAVA;C/S;Socket;即時通信

      中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)14-0097-03

      在我國,隨著經(jīng)濟文化的發(fā)展,信息時代的飛速發(fā)展,中國已經(jīng)成為世界第一大互聯(lián)網(wǎng)用戶國家。生活中已經(jīng)離不開網(wǎng)絡了,而與我們最密切相關(guān)的網(wǎng)絡工具就是即時通信軟件,如人手一個賬號的QQ,微信,以及中國移動的飛信等,大量的社交工具幫助著我們與朋友,與社會各地的人的交流。隨著網(wǎng)絡速度的提升,尤其是3G時代到來之后,我們對即時通信的要求又提升了一個高度,我們不在依靠于文字去傳遞我們的語言,而是漸漸通過語音,甚至是視頻直接與我們想要溝通的人直接進行通信。

      1需求分析

      1.1客戶端的主要任務

      客戶端需要實現(xiàn)注冊,即時聊天,相互之間收發(fā)文件,好友上、下線提醒等功能。

      1)注冊

      服務器收到用戶的注冊請求,便開始接受客戶傳遞的信息,如客戶的昵稱,密碼等,接受完畢后,通過程序中properties類進行添加記錄,如添加成功,客戶收到服務器返回的信息后,便直接返回登錄窗口。

      2)登錄

      在客戶端,用戶輸入其號碼和密碼,然后建立與服務器的連接,告訴服務器我要登錄,服務器收到后,開始通過properties類進行讀取數(shù)據(jù),然后與用戶輸入的信息進行比對,如果成功,便打開主程序窗口。然后客戶向服務器請求讀取好友名單,服務器收到該請求,從數(shù)據(jù)庫中取出好友列表,然后向客戶端發(fā)送這些信息,客戶收到后就在主窗口顯示好友。

      3)聊天室

      客戶端首先發(fā)送消息到服務器端,服務器端根據(jù)發(fā)送人信息和接收者信息來轉(zhuǎn)發(fā)。例如服務器接收到一個A發(fā)給B的消息,先判斷B是否已經(jīng)在線,如果在線就將信息發(fā)送過去。如果B不在線則把信息儲存在服務器。

      1.2服務器端的主要任務

      服務器端應當建立一個ServerSocket,并且不斷進行偵聽是否有客戶端連接或者斷開連接(包括判斷沒有響應的連接超時)。服務器端應當是一個信息發(fā)送中心,所有客戶端的信息都傳到服務器端,由服務器端根據(jù)要求分發(fā)信息。

      1)建立一個ServerSocket,并不斷的監(jiān)聽客戶端傳遞過來的Socket信息。

      2)服務端還應該是個信息轉(zhuǎn)發(fā)中心,接收到客戶端傳遞過來的信息在進行轉(zhuǎn)發(fā)送。

      2系統(tǒng)設計

      本設計是為了實現(xiàn)簡單的網(wǎng)絡聊天功能,大致分為功能設計,工作原理圖,系統(tǒng)各功能模塊三部分,

      2.1功能設計

      2.1.1登陸界面功能表

      登陸界面用到的控件及控件說明如表1所示。

      2.1.2注冊界面功能表

      注冊界面用到的控件及控件說明如表2所示。

      2.1.3聊天界面功能表

      聊天室界面用到的控件及控件說明如表3所示。

      2.2 JAVA聊天系統(tǒng)各功能模塊

      本系統(tǒng)主要可分為兩大模塊,客戶端模塊和服務器端模塊。

      2.2.1客戶端模塊

      JAVA中使用套接字十分簡單,JAVA API為處理套接口的通信給我們提供了一個類庫包java.net.Socket使得編寫網(wǎng)絡應用相較容易。客戶端通過創(chuàng)建Socket對象,綁定服務端并設置端口號即可向服務器端發(fā)送和接受消息。

      2.2.2服務器端模塊

      服務器端通過創(chuàng)建一個ServerSocket并不斷的監(jiān)聽客戶端的請求,采用多線程的方式滿足不同客戶端發(fā)送過來的消息并不斷的處理消息。

      3系統(tǒng)主要功能實現(xiàn)

      除了實現(xiàn)首頁、登陸和購買界面,還實現(xiàn)了后臺管理及手機新增界面,主要功能實現(xiàn)如圖1,圖2和圖3所示。

      4關(guān)鍵技術(shù)及實現(xiàn)方案

      4.1服務器關(guān)鍵代碼

      服務器端通過創(chuàng)建一個ServerSocket并不斷的監(jiān)聽客戶端的請求,采用多線程的方式滿足不同客戶端發(fā)送過來的消息并不斷的處理消息。

      4.2服務器關(guān)鍵代碼

      服務器端通過創(chuàng)建一個ServerSocket并不斷的監(jiān)聽客戶端的請求,采用多線程的方式滿足不同客戶端發(fā)送過來的消息并不斷的處理消息。

      5結(jié)束語

      本設計利用了Swing技術(shù)搭建了系統(tǒng)的登陸界面、注冊界面、聊天室界面,通過程序中的properties類進行用戶數(shù)據(jù)添加和驗證,通過客戶端和服務器端建立Socket連接進行數(shù)據(jù)通信,現(xiàn)在基本完成聊天軟件的功能。

      苏尼特右旗| 赫章县| 乌鲁木齐市| 噶尔县| 阿图什市| 砀山县| 青河县| 阿拉善左旗| 嘉兴市| 广东省| 尼木县| 大洼县| 修文县| 故城县| 丹棱县| 利辛县| 福安市| 惠州市| 封开县| 洛宁县| 漳平市| 西盟| 平塘县| 东乌| 陆丰市| 正镶白旗| 定边县| 湖南省| 奉节县| 三门峡市| 扎赉特旗| 肥东县| 许昌县| 若羌县| 宿松县| 柳州市| 沿河| 吴川市| 咸宁市| 綦江县| 本溪市|