• 
    

    
    

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

      基于Socket的網(wǎng)絡(luò)聊天系統(tǒng)的設(shè)計與實現(xiàn)*

      2022-12-16 09:23:08張玉賈遂民鄭桂萍
      計算機(jī)時代 2022年12期
      關(guān)鍵詞:服務(wù)器端聊天消息

      張玉,賈遂民,鄭桂萍

      (鄭州師范學(xué)院信息科學(xué)與技術(shù)學(xué)院,河南 鄭州 450044)

      0 引言

      聊天系統(tǒng)目前使用范圍非常廣泛。但是很多企業(yè)為了管理方便和防止重要數(shù)據(jù)泄露,會選擇自己獨有的通訊系統(tǒng)作為與外界交流、溝通的工具。本系統(tǒng)作為一種聊天軟件,它的開發(fā)不但考慮了社會型企業(yè)專業(yè)化管理的需求和信息安全保障需求,而且成本低、效率高、應(yīng)用范圍廣、兼容性強(qiáng)。

      1 Socket與多線程原理

      Socket 套接字是一條通信鏈的句柄,TCP 連接是兩個端點的連接,而這個端點就是抽象的Socket,套接字是由IP 地址加上端口號組合而成的[2]。關(guān)于Socket在本系統(tǒng)中的工作原理如圖1所示。

      圖1 Socket工作原理圖

      Socket是一種接口,主要用于網(wǎng)絡(luò)編程方面,也是網(wǎng)絡(luò)通訊的基石。在Client/Server 模式下,按照套接字在網(wǎng)絡(luò)中所起的不同作用來看,可以將套接字分為客戶機(jī)套接字Socket和服務(wù)器端套接字ServerSocket。套接字ServerSocket 建立后,就一直監(jiān)聽本機(jī)的預(yù)先設(shè)定的端口。當(dāng)套接字Socket 根據(jù)服務(wù)器端主機(jī)IP,地址進(jìn)行綁定并建立連接,數(shù)據(jù)流就通過客戶端與服務(wù)器之間的Socket 連接將數(shù)據(jù)傳輸?shù)椒?wù)器端,從而實現(xiàn)信息的傳遞。當(dāng)數(shù)據(jù)信息傳輸完成時,服務(wù)器套接字和客戶端套接字要分別關(guān)閉。

      2 系統(tǒng)設(shè)計

      2.1 系統(tǒng)功能設(shè)計

      根據(jù)需求分析,本網(wǎng)絡(luò)通訊系統(tǒng)主要由客戶端和服務(wù)器兩個部分組成的。圖2 展示的是系統(tǒng)的整體功能設(shè)計圖。

      圖2 網(wǎng)絡(luò)聊天系統(tǒng)的整體功能圖

      ⑴客戶端:主要功能有用戶的注冊與登錄、設(shè)置服務(wù)器IP、添加或查看好友,以及好友之間互發(fā)文本消息等。用戶可以向服務(wù)器端發(fā)送各種不同格式的信息包來要求服務(wù)器返回不同的結(jié)果。用戶可以發(fā)送注冊/登錄的請求,同時客戶端還實現(xiàn)了上/下線通知、好友列表顯示、消息的編輯、發(fā)送/接收、多用戶通信等功能。

      ⑵服務(wù)器端:此模塊的流程大致為:首先進(jìn)入可視化窗口,開啟服務(wù)器,監(jiān)聽客戶端,接受客戶端發(fā)送的請求消息并與客戶端建立連接;驗證用戶賬號和密碼是否合法。若用戶合法,則服務(wù)器為客戶端開啟線程,監(jiān)聽用戶的動態(tài),實現(xiàn)消息的中轉(zhuǎn);如不合法,則繼續(xù)處于原始狀態(tài),以便于能夠即時的響應(yīng)用戶的請求。

      2.2 系統(tǒng)的流程設(shè)計

      本通信系統(tǒng)完成了驗證用戶信息是否合法,驗證完成后的操作可根據(jù)窗口提示來進(jìn)行。當(dāng)用戶登錄成功進(jìn)入好友列表界面,用戶就可以互發(fā)消息。通訊結(jié)束之后,用戶關(guān)閉聊天界面,退出客戶端,關(guān)閉服務(wù)器,退出系統(tǒng)。流程圖如圖3所示。

      圖3 基于Socket的網(wǎng)絡(luò)聊天系統(tǒng)總體流程圖

      2.3 數(shù)據(jù)庫設(shè)計

      本系統(tǒng)采用C/S 結(jié)構(gòu)模式,為了減少服務(wù)器的負(fù)擔(dān)、方便程序的設(shè)計,可以添加數(shù)據(jù)庫作為數(shù)據(jù)信息存貯的地方。根據(jù)功能模塊,設(shè)計出三個實體:用戶注冊實體、用戶登錄實體和通信記錄實體,其E-R 圖如圖4所示。

      圖4 數(shù)據(jù)庫總體E-R圖

      根據(jù)系統(tǒng)E-R 圖設(shè)計知系統(tǒng)數(shù)據(jù)庫中包含三個數(shù)據(jù)表:用戶注冊信息表、用戶登錄信息表、通信記錄表。

      3 系統(tǒng)實現(xiàn)

      系統(tǒng)主要包含服務(wù)器與客戶端。服務(wù)器端主要處理開啟服務(wù)器、用戶上線和轉(zhuǎn)發(fā)消息三個主要功能,其結(jié)構(gòu)如圖5所示。

      圖5 服務(wù)端結(jié)構(gòu)圖

      客戶端主要包括一些簡單的界面,實現(xiàn)人工交互,并進(jìn)行請求響應(yīng),其結(jié)構(gòu)如圖6所示。

      圖6 客戶端總體結(jié)構(gòu)圖

      4 結(jié)束語

      本系統(tǒng)中的客戶端與服務(wù)器可以分別放到兩個獨立的計算機(jī)上運行,只要知道對應(yīng)的IP 和端口號就可以達(dá)到真實的聊天功能,具有很好的靈活性。系統(tǒng)的主要特性是:靈活的移植性,簡單的界面及時、有效、動態(tài)地完成數(shù)據(jù)信息傳遞;有效地處理客戶的不同請求,易于維護(hù)與更新。本系統(tǒng)使用服務(wù)器處理消息包,然后中轉(zhuǎn),所以當(dāng)用戶量較大時可能導(dǎo)致服務(wù)器壓力較大,影響即時通信的性能,這在后續(xù)階段會加以改進(jìn)與優(yōu)化。

      猜你喜歡
      服務(wù)器端聊天消息
      一張圖看5G消息
      淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
      成功(2018年10期)2018-03-26 02:56:14
      我就是不想跟你聊天了
      意林(2017年9期)2017-06-06 10:26:12
      敞開門聊天
      在Windows中安裝OpenVPN
      消息
      消息
      消息
      網(wǎng)頁防篡改中分布式文件同步復(fù)制系統(tǒng)
      基于Struts的Web應(yīng)用系統(tǒng)數(shù)據(jù)驗證
      抚松县| 勃利县| 荣成市| 潮州市| 介休市| 新建县| 昌都县| 红河县| 新和县| 台中市| 彩票| 历史| 石屏县| 西安市| 格尔木市| 梁河县| 吉安市| 汾西县| 锡林郭勒盟| 塔河县| 康保县| 榆林市| 海口市| 嘉禾县| 分宜县| 平陆县| 河北区| 长寿区| 修水县| 瓮安县| 新余市| 曲麻莱县| 阜新| 渭南市| 日照市| 湛江市| 彰武县| 石渠县| 卢湾区| 罗田县| 铜梁县|