freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于socket的即時通信系統(tǒng)設(shè)計與實現(xiàn)學士學位論文(已改無錯字)

2023-07-23 01:51:16 本頁面
  

【正文】 、企業(yè)單位、社區(qū)信息文件即時發(fā)布和快速傳達。即時通信系統(tǒng)以“ 先進合理的應(yīng)用理念 ”、“高效率的通信服務(wù)”,為用戶提供了一套快捷的即時信息交流和辦公的平臺,以增強企事業(yè)單位內(nèi)部的信息交流,解決其內(nèi)部信息公告、信息交流、文件傳送等問題,降低溝通成本,提高單位的工作效率,為各企事業(yè)單位提供方便、快捷的即時通信服務(wù) [19]。 系統(tǒng)功能描述本系統(tǒng)主要實現(xiàn)點對點的私聊,多人群聊,發(fā)送網(wǎng)絡(luò)圖片,即時發(fā)送文件,歷史記錄的保存等功能。同時保證數(shù)據(jù)即時快速的傳遞。表 所示。表 系統(tǒng)功能表文本通信 點對點會話通信,點對多點的消息和通知群發(fā),信息存儲等功能文件傳輸 服務(wù)器共享文件查詢,客戶端上傳文件,客戶端下載文件等歷史記錄保存 對用戶的通話記錄進行管理 系統(tǒng)協(xié)議的選定系統(tǒng)的傳輸協(xié)議可以采用TCP與UDP 兩種協(xié)議。由于本設(shè)計中信息的交互在服務(wù)器與客戶機、客戶機與客戶機之間進行,對服務(wù)器與客戶機的信息傳輸可靠性要求比較高,因此通過TCP 來實現(xiàn),而客戶機與客戶機之間要求信息傳輸效率高,通信協(xié)議理工大學學士學位論文15就可采用UDP協(xié)議。在本系統(tǒng)的設(shè)計中,協(xié)議選擇既有 TCP協(xié)議也有UDP 協(xié)議,系統(tǒng)中的C/S模式采用TCP 協(xié)議, P2P模式采用UDP協(xié)議。由于文件傳輸部分需要保證文件的準確無誤的傳送,因此在客戶機與客戶機之間采用TCP協(xié)議來實現(xiàn)。 系統(tǒng)設(shè)計性能分析作為企(事) 業(yè)單位內(nèi)部員工簡便的辦公和溝通平臺,企業(yè)即時通信系統(tǒng)需要保證數(shù)據(jù)通信的即時性以及通信過程和信息存儲的安全性 [20],為企事業(yè)單位的使用者提供信息安全保障,同時減少系統(tǒng)資源的消耗,保證系統(tǒng)運行的低故障率。這些都是一個有實用價值的軟件必須具備的性能,具體如以下四點所述:1.數(shù)據(jù)通信完整與可靠性:即時通信即用戶間能實時發(fā)送和接收各種信息,包括文本通信和文件傳輸,確保數(shù)據(jù)的可到達性、確保數(shù)據(jù)解讀的正確性,防止數(shù)據(jù)丟失或數(shù)據(jù)錯位,從而保證消息傳送的可靠性。2.通信效率和公平性:這主要體現(xiàn)在服務(wù)器端。服務(wù)器需要同時處理所有用戶發(fā)送的各類信息,并且完成數(shù)據(jù)庫存儲、讀取、更新等操作;還需要采用適當方法提高服務(wù)器接收、解讀、處理和發(fā)送數(shù)據(jù)的效率,在指定時間內(nèi)完成需要的通信量,提高系統(tǒng)的即時通信性能,同時保證數(shù)據(jù)處理的公平性,保證各客戶端的信息能夠被及時響應(yīng)和處理。3.系統(tǒng)可控性:系統(tǒng)可控性是指系統(tǒng)運行期間完成數(shù)據(jù)存儲、數(shù)據(jù)庫備份、系統(tǒng)故障恢復(fù)等任務(wù)的性能,包括用戶注冊管理、登錄管理、客戶端運行過程中監(jiān)控等模塊的設(shè)計。防止重要數(shù)據(jù)的丟失或被篡改,提高系統(tǒng)的運行可靠性,增強系統(tǒng)使用者的信心。 本章小結(jié)本章主要對系統(tǒng)的總體設(shè)計及功能模塊進行描述,首先對系統(tǒng)的總體需求進行分析,然后介紹各功能模塊,最后對客戶端,和服務(wù)器的工作流程進行了描述,并畫出流程圖,為開發(fā)系統(tǒng)做好準備。理工大學學士學位論文164 實現(xiàn) Socket 通信的方案和關(guān)鍵模塊的設(shè)計 系統(tǒng)總體結(jié)構(gòu)的描述即時通信系統(tǒng)是在某一個或若干個企事業(yè)單位內(nèi)部使用的即時溝通和辦公通信的工具和平臺,具有即時通信、用戶群特定等特點。本系統(tǒng)采用的是三層式的C/S 構(gòu)架來保證網(wǎng)絡(luò)通信的機制:客戶端、服務(wù)器端,服務(wù)數(shù)據(jù)庫??蛻舳死肨CP通信協(xié)議,并通過基于UDP 通信協(xié)議的P2P技術(shù)與其他客戶端進行交流;服務(wù)器處理客戶端發(fā)送來的信息,并利用TCP 通信協(xié)議將信息反饋回客戶端以及保存用戶的在線與離線狀態(tài);服務(wù)數(shù)據(jù)庫主要負責用戶注冊信息保存,用戶聊天記錄的保存。其系統(tǒng)總體框架如圖。 JDBC C/S(TCP)C/S(TCP) C/S(TCP)P2P(UDP)P2P(UDP)P2P(UDP)圖 即時通信系統(tǒng)框架圖基于 Socket 的局域網(wǎng)即時通信系統(tǒng)系統(tǒng)構(gòu)架如圖 、圖 所示。客戶端服務(wù)器客戶端客戶端數(shù)據(jù)庫理工大學學士學位論文17圖 即時通信系統(tǒng)框架圖(C/S)圖 即時通信系統(tǒng)框架圖(P2P) 系統(tǒng)功能模塊設(shè)計根據(jù)企業(yè)內(nèi)部溝通的需要,以及從實際出發(fā),:1.服務(wù)器功能(1) 部門和用戶管理功能模塊在企業(yè)內(nèi)部溝通中必須得了解企業(yè)內(nèi)部的組織架構(gòu),這個模塊就是系統(tǒng)管理員在按照企業(yè)實際組織結(jié)構(gòu),創(chuàng)建了各級部門并輸入部門信息,然后根據(jù)部門再創(chuàng)建用戶信息,用戶不需要自由的添加,最終完成企業(yè)組織的搭建;(2) 用戶登錄處理模塊此模塊主要是進行登錄驗證,如果驗證通過,服務(wù)器會將數(shù)據(jù)庫中的用戶狀態(tài)改歷史記錄保存文件傳輸點對點私聊多人群聊用戶服務(wù)器文字通信文字傳輸用戶 用戶理工大學學士學位論文18為在線,并通知其他在線用戶;(3) 用戶狀態(tài)通知模塊用戶進行狀態(tài)檢測,好友在線,在好友列表中顯示,如果好友不在列表中,用戶狀態(tài)為離線;(4) 用戶消息、文件轉(zhuǎn)發(fā)用于發(fā)給離線用戶的消息或文件;(5) 用戶下線處理模塊用戶下線,斷開連接,修改數(shù)據(jù)庫中的用戶狀態(tài)并通知其他用戶;2.客戶端功能客戶端提供用戶友好操作界面,負責發(fā)出請求和接收結(jié)果,主要功能有用戶登錄、文字通信、文件傳輸、歷史記錄保存、好友管理等,通過底層協(xié)議傳輸數(shù)據(jù),并在協(xié)議解析模塊解析信息。圖 系統(tǒng)功能模塊圖即時通信功能模塊服務(wù)器 客戶端部門用戶管理模塊用戶登錄管理模塊用戶狀態(tài)通知模塊用戶消息轉(zhuǎn)發(fā)模塊用戶下線處理模塊用戶文件轉(zhuǎn)模塊發(fā)用戶登錄與注冊模塊文本通信模塊文本通信模塊歷史記錄查詢模塊用戶下線模塊理工大學學士學位論文19 服務(wù)器端工作流程服務(wù)器運行后,開啟服務(wù),則服務(wù)器開始偵聽用戶請求,如有信息發(fā)送過來,服務(wù)器首先發(fā)送回確認信息,然后,建立一個線程,處理接收到的數(shù)據(jù)。在線程里,按照接收到數(shù)據(jù)的類別(用特殊字符來辨別),進行相應(yīng)的處理,如有需要,會向用戶發(fā)送處理的結(jié)果,處理結(jié)束后,線程就結(jié)束了。這樣,可以實時接收每個用戶的請求,不會因為處理一個用戶的請求,而忽略了其它用戶。所示。理工大學學士學位論文20NN YYYNYNY NN Y圖 服務(wù)器端工作流程啟動服務(wù)監(jiān)聽客戶端連接用戶連接請求用戶登錄建立合法連接,顯示用戶上線通知響應(yīng)用戶發(fā)出的請求文本通信文本傳輸用戶退出用戶下線通知退出開始登錄成功返回對方上線保存到本地連接轉(zhuǎn)發(fā)給對方建立連接完成文件傳輸保存文件理工大學學士學位論文21 客戶端工作流程客戶端即時通信流程如圖 所示。NYNY圖 客戶端通信流程圖客戶端的即時通信工作流程可作如下描述:1.啟動客戶端,首先進行注冊,注冊成功開始顯示登錄界面驗證成功建立連接顯示主界面文件傳輸向服務(wù)器發(fā)送請求服務(wù)器接受請求并處理實現(xiàn)用戶請求客戶端退出結(jié)束結(jié)束添加刪除好友文件傳輸理工大學學士學位論文222.顯示登錄主界面,輸入賬號和密碼,用戶開始登錄;3.客戶端開始在線偵聽,用戶可以在主界面進行某種操作;4.用戶可以發(fā)送各種聊天信息,文件傳輸請求等應(yīng)用請求;5.請求發(fā)出后自動等待服務(wù)器返回的數(shù)據(jù),解讀該數(shù)據(jù)并判定請求的結(jié)果;6.執(zhí)行結(jié)果,并保存處理信息至本地鏈接(若干文件組成);7.在客戶端退出前循環(huán)執(zhí)行用戶的各種操作,并發(fā)送各種請求;8.客戶端退出則斷開該連接。 總體實現(xiàn)方案和類的設(shè)計1.系統(tǒng)總體實現(xiàn)方案系統(tǒng)將采用C/S方式設(shè)計,服務(wù)器主要為客戶端服務(wù),通過響應(yīng)客戶端的請求訪問數(shù)據(jù)庫,給用戶提供相應(yīng)的信息,服務(wù)器數(shù)據(jù)庫使用MySql做數(shù)據(jù)庫管理系統(tǒng)。信息交流的絕大部分功能都在系統(tǒng)的客戶端完成。客戶端主要功能都是基于P2P技術(shù)的,因此客戶端功能的實現(xiàn)主要就是如何建立P2P的連接,建立連接后就能輕松完成包括發(fā)送消息,文本交談,發(fā)送文件等功能。2.系統(tǒng)通信核心類類用于描述一組具有相同屬性、操作、關(guān)系和語義的對象 [20]。其中主要包括消息類和類圖,基nnectio類ConThread,另外還有其它的10幾個類,分別用于各種類型的操作。(1) ConnectionThread該類是客戶端發(fā)送給服務(wù)器消息,接收服務(wù)器消息的類,也是客戶端眾多線程中的主線程(2) RegisterInfo和RegisterFrameRegisterFrame類用來生成注冊頁面,完成注冊界面相應(yīng)的布局,RegisterInfo類用來生成填寫注冊信息界面,驗證注冊信息格式是否正確,如果不正確給出相應(yīng)的提示信息 (3) ChatF和ChatF1ChatF1類主要實現(xiàn)客戶端與客戶端點對點的私聊,實現(xiàn)文件傳輸,發(fā)送消息主要用函數(shù)sendMessage(),文件傳輸主要在 actionPerformed()中實現(xiàn),ChatF類主要實現(xiàn)多人理工大學學士學位論文23群聊發(fā)送消息也是用函數(shù)sendMessage() 來實現(xiàn)(4) History該類主要用于歷史記錄讀取,關(guān)閉聊天窗口,如果歷史記錄為空給出提示信息(5) ListF主要用于生成在線好友列表(6) FindFriendFrame該類主要用于根據(jù)qq號查找好友,然后添加好友,實現(xiàn)通信(7) Dao該類用于實現(xiàn)服務(wù)器與數(shù)據(jù)庫的連接,處理數(shù)據(jù)(8) Server該類是服務(wù)器實現(xiàn)通信,與客戶端進行交互的類,用于接收客戶端的各種操作請求,處理相應(yīng)的請求(每個請求由特殊字符來區(qū)分),響應(yīng)請求,實現(xiàn)客戶端與客戶端,客戶端與服務(wù)器實現(xiàn)通信。 關(guān)鍵模塊詳細設(shè)計與實現(xiàn)主要對各個功能模塊實現(xiàn)做具體的描述,加深對系統(tǒng)的認識。 利用 Socket 進行 TCP 連接Socket進行TCP網(wǎng)絡(luò)連接,是一種客戶/服務(wù)器的連接類型,利用Socket 的API進行。理工大學學士學位論文24圖 Socket 的 TCP 連接時序圖 1.流式套接字流式套接字可以將數(shù)據(jù)按順序無重復(fù)地發(fā)送到目的地,它提供的是一種可靠的面向連接的數(shù)據(jù)傳輸方式。不管是對單個的數(shù)據(jù)報,還是對數(shù)據(jù)包,流式套接字都提供了一種流式數(shù)據(jù)傳輸,是TCP傳輸協(xié)議的接口 [12]。當用戶想發(fā)送大批量數(shù)據(jù)或想讓發(fā)送的數(shù)據(jù)按順序無重復(fù)地到達目的地時,使用流式套接字是最方便的。此外,在數(shù)據(jù)傳輸時,如果連接斷開,應(yīng)用程序會被通知的。由于流式套接字用的是面向連接的協(xié)議,所以必須首先建立連接然后才能從數(shù)據(jù)流中讀出數(shù)據(jù),而不是從一個數(shù)據(jù)報或一個記錄讀出數(shù)據(jù)。流式套接字的服務(wù)進程和客戶進程在通信前必須創(chuàng)建各自的套接字并建立連接,然后才能對相應(yīng)的套接字進行“讀”、“寫”操作,實現(xiàn)數(shù)據(jù)傳輸。使用流式套接字時,用戶在發(fā)送、接收數(shù)據(jù)之前同樣必須首先建立連接,然后才能傳輸數(shù)據(jù),流式套。TCP 服務(wù)端Socket()Bind()Listen()等待客戶請求Accept()CloseSocket()Recv()Send()Connect()Send()Recv()CloseSocket()Socket()TCP 客戶端理工大學學士學位論文25首先,服務(wù)器要創(chuàng)建一個用于監(jiān)聽的套接字,把它綁定到眾所周知的服務(wù)器端口上,然后調(diào)用 listen 函數(shù)使它處于監(jiān)聽狀態(tài);客戶機在創(chuàng)建套接字后,即可調(diào)用connect 函數(shù),請求與服務(wù)器套接字連接;服務(wù)器套接字在收到客戶機的連接請求后,調(diào)用 accept 函數(shù)來接收客戶機的連接請求,并創(chuàng)建另一個用于通信的套接字。用此套接字和客戶機上的套接字形成網(wǎng)絡(luò)通信管道的兩個端點,然后就可以在服務(wù)器和客戶機之間進行數(shù)據(jù)傳輸了。服務(wù)器上的監(jiān)聽套接字仍處于監(jiān)聽的狀態(tài),隨時準備接受其他客戶機的連接請求。傳輸結(jié)束后,客戶機調(diào)用 closeSocket 函數(shù)關(guān)閉套接字,服務(wù)器也調(diào)用該函數(shù)關(guān)閉用于監(jiān)聽和通信的套接字,釋放資源。2.數(shù)據(jù)報套接字數(shù)據(jù)報套接字節(jié)提供了不可靠的、無連接的數(shù)據(jù)包通信方式。數(shù)據(jù)通過相互獨立的報文進行傳輸,是無序的,并且不保證報文的可靠、無差錯。實際使用中,數(shù)據(jù)報套接字一般用于一些輕負載的局域網(wǎng)上的計算機之間的通信,同一個分組數(shù)據(jù)報可能不止一次地被發(fā)送,一般要等到接收方發(fā)回確認收到的消息才停止發(fā)送。對于在TCP/IP上實現(xiàn)的Socket,數(shù)據(jù)報套接字節(jié)使用UDP 協(xié)議 [9]。無連接的服務(wù)器一般都是面向事務(wù)處理的,大多數(shù)的數(shù)據(jù)報套接字應(yīng)用程序?qū)⑹褂靡粋€事件序列來完成客戶應(yīng)用程序和服務(wù)器應(yīng)用程序之間的通信,其編程過程相對。對于接收端(一般為服務(wù)器端),先用Socket 函數(shù)建立套接字,在通過 bind函數(shù)把這個套接字和準備接收數(shù)據(jù)的IP地址信息綁定在一起,這和前面流套接字一樣,但不同的是它不必調(diào)用listen和accept,只需要等待接收數(shù)據(jù)。并且由于它是無連接的,因此可以接收網(wǎng)絡(luò)上任何一臺機器所發(fā)的數(shù)據(jù)包。、字應(yīng)用程序時序圖。理工大學學士學位論文26服務(wù)請求服務(wù)響應(yīng)圖 流式套接字圖 建立連接請求數(shù)據(jù)應(yīng)答數(shù)據(jù) 圖 數(shù)據(jù)報套接字圖 Socket()
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1