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

正文內(nèi)容

基于socket的即時通信系統(tǒng)設(shè)計與實現(xiàn)-免費閱讀

2025-08-10 10:57 上一頁面

下一頁面
  

【正文】 i m。 / /來自客戶的輸入流 public Client(int i1, DataOutputStream los, DatalnputStream din) {this. i1= i1。 / /等待客戶連接 理工大學 學士學位論文 31 DataOutputStream los=nc}v DataOutputStream (s1. get0utputStream())。 聊天服務(wù)器端 聊天服務(wù)端的主要任務(wù)有兩個 : 一是監(jiān)聽某端口,建立與客戶的 Socket 連接,處理一個客戶的連接后,能很快再進入監(jiān)聽狀態(tài) 。文件傳輸除了能實現(xiàn)文件的接收與發(fā)送的基本功能外,還需要考慮以下方面: (1) 文件在傳輸過程中應(yīng)不影響用戶界面的操作; (2) 在傳輸文件前,發(fā)送方應(yīng)先發(fā)送請求,接收方可以同意或拒絕文件發(fā) 送,接收方同意后才能進行文件傳輸; (3) 在文件在傳輸過程中,可以顯示文件的信息,如文件名、保存路徑、文件大??; (4) 文件在傳輸過程 中 接收方和發(fā)送方都可以取消該文件傳輸過程 ; (5) 一個用戶可以同時和多個用戶進行文件傳輸,而且每兩個用戶之間,可以同時接收或發(fā)送多個文件,接收和發(fā)送可以同時進行。并且由于它是無連接的,因此可以接收網(wǎng)絡(luò)上任何一臺機器所發(fā)的數(shù)據(jù)包。服務(wù)器上的監(jiān)聽套接字仍處于監(jiān)聽的狀態(tài),隨時準備接受其他客戶機的連接請求。不管是對單個的數(shù)據(jù)報,還是對數(shù)據(jù)包,流式套接字都提供了一種流式數(shù)據(jù)傳輸,是 TCP傳輸協(xié)議的接口 [12]。信息交流的絕大部分功能都在系統(tǒng)的客戶端完成。 客戶端 服 務(wù) 器 客戶端 客戶端 數(shù) 據(jù)庫 理工大學 學士學位論文 17 圖 即時通信系統(tǒng)框架圖 (C/S) 圖 即時通信系統(tǒng)框架圖 (P2P) 系統(tǒng)功能模塊設(shè)計 根據(jù)企業(yè)內(nèi)部溝通的需要,以及從實際出發(fā),系統(tǒng)功能模塊圖如圖 : 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é)議解析模塊解析信息。 3. 系統(tǒng)可控性:系統(tǒng)可控性是指系統(tǒng)運行期間完成數(shù)據(jù)存儲、數(shù)據(jù)庫備份、系統(tǒng)故障恢復(fù)等任務(wù)的性能,包括用戶注冊管理、登錄管理、客戶端運行過程中監(jiān)控等模塊的設(shè)計。 表 系統(tǒng)功能表 文本通信 點對點會話通信,點對多點的消息和通知群發(fā),信息存儲等功能 文件傳輸 服務(wù)器共享文件查詢,客戶端上傳文件,客戶端下載文件等 歷史記錄保存 對用戶的通話記錄進行管理 系統(tǒng)協(xié)議的選定 系統(tǒng)的傳輸協(xié)議可以采用 TCP與 UDP兩種協(xié)議。 理工大學 學士學位論文 14 3 對 Socket 通信 需求分析 根據(jù)前面所研究和分析的兩種通信模型及關(guān)鍵技術(shù),本章將這些技術(shù)同系統(tǒng)的需求聯(lián)系起來,提出了系統(tǒng)的總體 結(jié)構(gòu)和工作流程。該軟件通過創(chuàng)建與數(shù)據(jù)相關(guān)的 Visio 圖來顯示數(shù)據(jù),這些圖易于刷新,并能夠顯著提高生產(chǎn)率。 5.優(yōu)化的 SQL 查詢算法,有效地提高查詢速度。 SQL是用于訪問數(shù)據(jù)庫的最常用標準化語言。 5.更好地與 Maven 整合,包括啟動 Maven 的構(gòu)建和維護 pom 文件。 Eclipse 最初主要用來 Java 語言開發(fā),但是目前也可以作為其他計算機語言比如 C++和 Python 的開發(fā)工具。程序員可只編寫一遍應(yīng)用程序或只更新一次,然后將它放到服務(wù)器上,隨后任何人就都可得到最新版本的應(yīng)用程序 [15]。 Java理工大學 學士學位論文 11 具有堅固、安全、易于使用、易于理解和可從網(wǎng)絡(luò)上自動下載等特性,是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言。 有了 JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送 SQL語句就是一件很容易的事。新建的線程執(zhí)行完畢,自動關(guān)閉連接,釋放資源。 多線程技術(shù) 操作系統(tǒng)是一個多任務(wù)的系統(tǒng),支持多任務(wù)調(diào)度和處理,基于該功能所提供的多任務(wù)空間,程序員可以完全控制應(yīng)用程序中每一個片段的運行,從而編寫高效率的應(yīng)用程序。 因此即時通信系統(tǒng)的消息傳輸一般是建立在 TCP協(xié)議基礎(chǔ)之上的,客戶與服務(wù)器之間都是通過 TCP傳輸數(shù)據(jù),服務(wù)器端口一般固定。其優(yōu)點在于: 1. 使用 UDP 時,每個數(shù)據(jù)中都給出了完整的地址信息,發(fā)送數(shù)據(jù)之前不需要建立發(fā)送方與接收方的連接,因此減少了開銷和發(fā)送數(shù)據(jù)之前的時延。在網(wǎng)絡(luò)通信傳輸機制中, TCP是屬于 “面向連接,可靠傳輸 ”的類型,面向連接的傳輸意味著在進行通信以前 ,需要在兩個系統(tǒng)之間建立邏輯連接,在每個數(shù)據(jù)傳輸?shù)倪^程中都需要進行應(yīng)答以保證數(shù)據(jù)包的完整。服務(wù)器始終處于工作狀態(tài),一般同時為多個客戶提供服務(wù),它被動地接受客戶連接,根據(jù)客戶的請求提供相應(yīng)的服務(wù)。相對于 C/S模型,其弱化了服務(wù)器的概念,系統(tǒng)中的 各個節(jié)點不再區(qū)分服務(wù)器和客戶端的角色關(guān)系,每個節(jié)點既可請求服務(wù),也可提供服務(wù),節(jié)點之 間可以直接交換資源和服務(wù)而不必通過服務(wù)器。 本章小 結(jié) 本章首先介紹了該課題的課題背景,初步認識該系統(tǒng),了解了研究該系統(tǒng)的重要性。 6. 界面實現(xiàn) 在界面實現(xiàn)的基礎(chǔ)上完成具體的設(shè)計與實現(xiàn)工作。 2. 建立了一個局部的管理的環(huán)境,通過建立安全對等組,實現(xiàn)一個可在局部范圍內(nèi)從事特定工作的區(qū)域。 2. 安全性 在即時通信系統(tǒng)的發(fā)展過程中,如何保障系統(tǒng)安全、為用戶提供的可靠服務(wù)同樣重要。在這種情況下,有必要自主開發(fā)企事業(yè)內(nèi)部的即時通信軟件 [1]。如何使即時通信真正為企業(yè)服務(wù),發(fā)揮其長處,并對其有效管理,已經(jīng)成為研究的一個新課題。該系統(tǒng)為用戶提供了一個集文字通信、文件傳輸于一體 的即時通信平臺,基本滿足了企業(yè)用戶的要求。在對 即時通信系統(tǒng)的服務(wù)器端和客戶端的主要組成模塊詳細剖析后,論文 研究 了各個模塊的詳細設(shè)計和 實現(xiàn)方式,分別 研究 了每個模塊的主要功能,并給出了模塊運行效果圖。為此論文研究開發(fā)了企業(yè)級即時通信系統(tǒng),此系統(tǒng)具備個人即時通信系統(tǒng)的功能,是一款可管理、可控制的企業(yè)級即時通信系統(tǒng)。 研究現(xiàn)狀 目前,信息產(chǎn)業(yè)在我國發(fā)展很快,已取得了一些成就。一個即時通信系統(tǒng)可能會保存大量用戶的個人信息,如何保證這些信息的安全將是一個長期課題 [4]。 3. 建立了一個具有監(jiān)督機制的環(huán)境,在安全對等組中,根據(jù)安全級別的高低,各個成員對等點的某些特定行為可以被監(jiān)控并作相應(yīng)記錄。 論文結(jié)構(gòu) 論文共分六章。接著介紹了國內(nèi)外研究現(xiàn)狀以及研究意義,了解了該系統(tǒng)在當今社會上的定位以便于在前人研究基礎(chǔ)上能有所創(chuàng)新。 P2P的最大特點就是用戶之間直接共享資源, 使得 PC不再是被動的客戶端,而成為具有服務(wù)器和客戶端雙重特征的設(shè)備,當然 P2P也有許多不足之處。這就造成了服務(wù)器設(shè)計的復(fù)雜性。這種方法需要的網(wǎng)絡(luò)開銷較大,但卻提供一種可靠的傳輸層服務(wù)。 2. 不使用擁塞控制,也不保證可靠傳輸,因此主機不需要維持具有許多參數(shù)的、復(fù)雜 的連接狀態(tài)表。由于 TCP是面向連接的,但是在國內(nèi)目前 IP地址短缺,很多時候采用通過局域網(wǎng)連入 Inter的網(wǎng)絡(luò)狀況, TCP的對等連接顯然不能滿足所有的要求,而且目前由于黑客軟件和病毒的泛濫,大部分上網(wǎng)的個人計算機都配置了防火墻在很大程度上阻止了許多的入站請求。所謂多任務(wù)通常包括這樣兩大類:單進程和多線程。這樣,就實現(xiàn)了 Socket 的連接和多線程通信。換言之,有了 JDBC API,就不必為訪問 Sybase 數(shù)據(jù)庫專門寫一個程序,為 訪問 Oracle 數(shù)據(jù)庫又專門寫一個程序,或為訪問 Informix 數(shù)據(jù)庫又編寫另一個程序等等,程序員只需用 JDBC API 寫一個程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送 SQL 調(diào)用。所需要的只是 Java 應(yīng)用程序與各種不同數(shù)據(jù)庫之間進行對話的方法。 簡單地說, JDBC 可做三件事:與數(shù)據(jù)庫建立連接、發(fā)送操作數(shù)據(jù)庫的語句并處理結(jié)果。雖然大多數(shù)用戶很樂于將 Eclipse 當作 IDE 來使用,但 Eclipse 的目標不僅限于此。 6. Jubula 提供 Java 和 HTML 的自動化 GUI 測試功能。 MySQL 軟件采用了 GPL(GNU 通用公共許可證 )。 6.既能夠作為一個單獨的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的 GB 231 BIG5,日文的 Shift_JIS 等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。使用 Office Visio 中的各種圖表了解、操作和共享企業(yè)內(nèi)組織系統(tǒng)、資源和流程 的有關(guān)信息 [18]。系統(tǒng)采用基于 TCP/IP 協(xié)議之上的 C/S與 P2P 混合結(jié)構(gòu),即客戶端與服務(wù)器之間的 C/S 通信結(jié)構(gòu)和客戶端之間的 P2P 通信結(jié)構(gòu)的結(jié)合。由于本設(shè)計中信息的交互在服務(wù)器與客戶機、客戶機與客戶機之間進行,對服務(wù)器與客戶機的信息傳輸可靠性要求比較高,因此通過 TCP來實現(xiàn),而客戶機與客戶機之間要求信息傳輸效率高,通信協(xié)議就可采用理工大學 學士學位論文 15 UDP協(xié)議。防止重要數(shù)據(jù)的丟失或被篡改,提高系統(tǒng)的運行可靠性,增強系統(tǒng)使用者的信心。 圖 系統(tǒng)功能模塊圖 即時通信功能模塊 服務(wù)器 客戶端 部門用戶管理模塊 用戶登錄管理模塊 用戶狀態(tài)通知模塊 用戶消息轉(zhuǎn)發(fā)模塊 用戶下線處理模塊 用戶文件轉(zhuǎn)模塊發(fā) 用戶登錄與注冊模塊 文本通信模塊 文本通信模塊 歷史記錄查詢模塊 用戶下線模塊 理工大學 學士學位論文 19 服務(wù)器端工作流程 服務(wù)器運行后,開啟服務(wù),則服務(wù)器開始偵聽用戶請求,如有信息發(fā)送過來,服務(wù)器首先發(fā)送回確認信息,然后,建立一個線程,處理接收到的數(shù)據(jù)。客戶端主要功能都是基于 P2P技術(shù)的,因此客戶端功能的實現(xiàn)主要就是如何建立 P2P的連接,建立連接后就能輕松完成包括發(fā)送消息,文本交談,發(fā)送文件等功能。 當用戶想發(fā)送大批量數(shù)據(jù)或想讓發(fā)送的數(shù)據(jù)按順序無重復(fù)地到達目的地時,使用流式套接字是最方便的。傳輸結(jié)束后,客戶機調(diào)用 closeSocket 函數(shù)關(guān)閉套接字,服務(wù)器也調(diào)用該函數(shù)關(guān)閉用于監(jiān)聽和通信的套接字,釋放資源 。圖 、 圖 用程序時序圖。 本系統(tǒng)文件傳輸?shù)膶崿F(xiàn)主要由 ClientTest、 ClientSocket、 Jprocess和 ServerTest類實現(xiàn)。二是處理與客戶的通信,由于聊天是客戶之間進行,所以服務(wù)器的職責是將客戶發(fā)送的消息轉(zhuǎn)發(fā)給其他客戶 。 DatalnputStream din=new DatalnputStream (s1. getInputStream())。 this. los= los。 i++){ talks。 for(int i= 0。 / /去往客戶的輸出流 DatalnputStream din。//建立監(jiān)聽服務(wù) while(true) {Socket s1= s. accept( ) 。 考慮到第一種方案,如果要啟動多個客戶的話,要占用的監(jiān)聽端口號多,通信比第二種方案更不方便,所以下面我是采用第二種方案來實現(xiàn)的 。 服務(wù)器端 客戶端 建立連接 服務(wù)請求 圖 41 基于連接的服務(wù)端、客戶端流程圖 圖 創(chuàng)建服務(wù)器端 Sock() 聯(lián)編到某一個端口 調(diào)用 bind 監(jiān)聽來自客戶端的連
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1