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

正文內(nèi)容

基于socket的即時(shí)通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(文件)

2025-07-31 10:57 上一頁面

下一頁面
 

【正文】 ..........................35 致謝 ...............................................................................................................................37 附錄 A 英語原文 ..........................................................................................................38 附錄 B 漢語翻譯 ...........................................................................................................53 理工大學(xué) 學(xué)士學(xué)位論文 1 1 緒 論 即時(shí)通信 (Instant Messaging)軟件是我國目前上網(wǎng)用戶使用率最高的軟件之一,即時(shí)通信系統(tǒng) (Instant Messaging System)可使人們在網(wǎng)上識別在線用戶并與之實(shí)時(shí)交流。 系統(tǒng)實(shí)現(xiàn)后,對系統(tǒng)進(jìn)行了功能測試,并分析測試數(shù)據(jù)。即時(shí)通信軟件的誕生,推動(dòng)了企業(yè)工作效率的提高,降低了辦公費(fèi)用,給企業(yè)的管理帶來了新的思路和方法,并引起了人們對該應(yīng)用領(lǐng)域的關(guān)注。 本 文 在現(xiàn)有的網(wǎng)絡(luò)通信技術(shù)、數(shù)據(jù)庫技術(shù)和信息安全技術(shù)的基礎(chǔ)上設(shè)計(jì)并實(shí)現(xiàn)了新型的企業(yè)即時(shí)通信系統(tǒng) (EIM, Enterprise Instant Messaging)。實(shí)驗(yàn)數(shù)據(jù)表明,該系統(tǒng)具有易于實(shí)現(xiàn)、可靠性高、易于擴(kuò)展、傳輸效率高等特點(diǎn),達(dá)到了預(yù)定的設(shè)計(jì)目標(biāo)。 目前,即時(shí)通信和電話、傳真一樣,已經(jīng)成為企業(yè)員工商 務(wù)溝通中廣泛使用的交流工具,但個(gè)人即時(shí)通信軟件在提高了溝通效率的同時(shí)也帶來了一些難以管理的問題,如安全性問題、用戶伸縮性問題等。 課題背景 企事業(yè)的信息化發(fā) 展,越來越需要不同系統(tǒng)協(xié)同工作,這就要求通過網(wǎng)絡(luò)進(jìn)行即時(shí)通信。還有的就是使用在本地局域網(wǎng)內(nèi)即時(shí)傳送消息和文件的小工具比如 WinpopupX,它沒有服務(wù)器端,通過在線列表和操作系統(tǒng)的網(wǎng)上鄰居獲取在線用戶或以網(wǎng)上鄰居中的計(jì)算機(jī)為對象進(jìn)行通信,沒有安全性也不便于企業(yè)管理。即時(shí)通信軟件在中國市場迅猛增長,各路廠商們正在紛紛推出自己的產(chǎn)品,能滿足企業(yè)需求的還是比較少。即時(shí)通信已經(jīng) 成為語音及文本的在線實(shí)時(shí)通信的主要技術(shù),它必將成為未來移動(dòng)商務(wù)、在線協(xié)作及 Inter應(yīng)用的核心,同時(shí)也將繼承 IP技術(shù)的開放風(fēng)格,扮演比電子郵件更為重要的角色。 3. 伸縮性 即時(shí)通信從支持幾十個(gè)個(gè)人用戶,到支持上百萬的個(gè)人用戶同時(shí)在線,這需要一個(gè)非常好的可伸縮性,如何 建立一個(gè)好的可伸縮的體系結(jié)構(gòu)支持高并發(fā)量的用戶群體也是即時(shí)通信軟件提供商要面臨的問題。將大部分工作由手工處理轉(zhuǎn)變?yōu)橛?jì)算機(jī)處理,減少了人工錯(cuò)誤和通信成本,提高了工作人員的工理工大學(xué) 學(xué)士學(xué)位論文 3 作效率。主要實(shí)現(xiàn)方法包括: 1. 利用 WinSock 技術(shù)實(shí)現(xiàn)實(shí)時(shí)通信 整個(gè)系統(tǒng)通信基于 TCP/IP 的通信技術(shù),通過調(diào)用 WinSock 的 API 實(shí)現(xiàn)相互之間的通信,而 WinSock 利用下層的網(wǎng)絡(luò)通信協(xié)議功能和操作系統(tǒng)調(diào)用實(shí)現(xiàn)實(shí)際的通信工作。 5. 數(shù)據(jù)庫的管理與應(yīng)用 研究系統(tǒng)服務(wù)端使用的數(shù)據(jù)庫訪問技術(shù)。 第二章對系統(tǒng)應(yīng)用的相關(guān)技術(shù)進(jìn)行描述,主要描述實(shí)現(xiàn)系統(tǒng)所需的通信原理、網(wǎng)絡(luò)編程基礎(chǔ)以及一些技術(shù)方面的基本概念與基本思想。 第六章也是全文的最后一章,對全文所開展的工作進(jìn)行了總結(jié) 。最后對整個(gè)論文的組織結(jié)構(gòu)進(jìn)行了描述,使參閱者對論文有大致了解。 P2P 模型 P2P(Peer to Peer,對等連接或?qū)Φ染W(wǎng)絡(luò) )模型,是指網(wǎng)絡(luò)中的物理節(jié)點(diǎn)在邏輯上以相同的地位進(jìn)行通信的模 型,而不是處理能力的對等 [6]。其次 P2P網(wǎng)絡(luò)中數(shù)據(jù)的安全性難以保證, P2P模型如圖 所示。服務(wù)器是一個(gè)擁有強(qiáng)大處理能力和很大帶寬的高性能計(jì)算機(jī),數(shù)據(jù)和信息都保存在服務(wù)器上。即時(shí)通信服務(wù)器是數(shù)據(jù)中心,需要同時(shí)應(yīng)對眾多客戶的請求 [7]。 理工大學(xué) 學(xué)士學(xué)位論文 7 圖 C/S 模型圖 即時(shí)通信主流的通信協(xié)議 傳輸控制協(xié)議 TCP和用戶數(shù)據(jù)報(bào) UDP是 TCP/IP協(xié)議族的兩個(gè)主要的傳輸協(xié)議,這兩個(gè)協(xié)議都使用 IP作為網(wǎng)絡(luò)層協(xié)議 [8]。 TCP、 UDP最大的區(qū)別在于為應(yīng)用協(xié)議提供不同的服務(wù)。它不需要通過一些握手協(xié)議確保連接的可靠性,發(fā)送方直接把數(shù)據(jù)廣播到網(wǎng)絡(luò)上,理工大學(xué) 學(xué)士學(xué)位論文 8 任何欲接收者都可接收到數(shù)據(jù)。 作為一種面向無連接的傳輸協(xié)議,基于 UDP的應(yīng)用程序在高可靠性、地延遲的網(wǎng)絡(luò)中運(yùn)動(dòng)的很好,但是在通信子網(wǎng)的服務(wù)質(zhì)量相對很低下的 Inter上,它可能就無法運(yùn)行了,因?yàn)閿?shù)據(jù)報(bào)的丟失過于頻繁。它主要的功能是提供大量數(shù)據(jù)的傳輸并確保其傳輸無誤,并提供錯(cuò)誤檢查、數(shù)據(jù)復(fù)原以及數(shù)據(jù)超時(shí)重傳等機(jī)制,適用于傳輸可靠性要求比較高的數(shù)據(jù)傳輸 [9]。 Socket 技術(shù) 隨著 Inter 的迅猛發(fā)展,網(wǎng)絡(luò)通信應(yīng)用程序的開發(fā)成為一個(gè)研究熱點(diǎn)。用戶目前可以使用兩種類型的套接字,它們是流式套接字(Stream Sockets) 和數(shù)據(jù)報(bào)套接字 (Datagram Sockets),這兩種套接字傳輸?shù)臄?shù)據(jù)類型是不同的,因而其使用方法和相應(yīng)的程序設(shè)計(jì)模型也是不同的 [11]。每個(gè)線程都有自己的專有寄存器,但代碼區(qū)是共享的,即不同的線程可以執(zhí)行同樣的函數(shù)。其基本設(shè)計(jì)思路是 :服務(wù)器端啟動(dòng)后,進(jìn)入偵聽模式,如果有客戶端連接的信號收到,服務(wù)器就自己新建一個(gè) Socket,然后新建一個(gè)線程用來和需要連接的客戶端通信,同時(shí),為了能夠使 windows 窗口響應(yīng),還要發(fā)送事件給父窗口,接著自己繼續(xù)偵聽。我們所用到的訪問數(shù)據(jù)庫的技術(shù)是 JDBC。 JDBC 為數(shù)據(jù)庫開發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的 API,據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純 Java API 編寫數(shù)據(jù)庫應(yīng)用程序。 Java數(shù)據(jù)庫連接體系結(jié)構(gòu)是用于 Java應(yīng)用程序連接數(shù)據(jù)庫的標(biāo)準(zhǔn)方法。 JDBC 實(shí)現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡單、嚴(yán)格類型定義且高性能實(shí)現(xiàn)的接口。 JDBC 擴(kuò)展了 Java 的功能。安裝和版本控制將大為簡化。 Eclipse 簡介 Eclipse 最初由 OTI 和 IBM 兩家公司的 IDE 產(chǎn)品開發(fā)組創(chuàng)建,起始于 1999 年 4 月。 Eclipse 的本身只是一個(gè)框架平臺,但是眾多插件的支持使得 Eclipse 擁有其他功能相對固定的 IDE 軟件很難具有的靈活性。由于 Eclipse 中的每樣?xùn)|西都是插件,對于給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。 4. 提供 Git 版本控制系統(tǒng)的緊密集成。在 20xx年 1 月 16 號被 Sun 公司收購。 MySQL 的 SQL“結(jié)構(gòu)化查詢語言 ”。 MySQL 數(shù)據(jù)庫還有以下特點(diǎn): 1.使用 C 和 C++編寫,并使用了多種編譯器進(jìn)行測試,保證源代碼的可移植性。 4.支持多線程,充分利用 CPU 資源。 8.提供用于管理、檢查、優(yōu)化數(shù)據(jù) 庫操作的管理工具。它能夠?qū)㈦y以理解的復(fù)雜文本和表格轉(zhuǎn)換為一目了然的 Visio 圖。所以,結(jié)合實(shí)際情況選擇合適的替代工具不失為一種明智的選擇。以便于查找相關(guān)資料,掌握相關(guān)技術(shù)。 即時(shí)通信系統(tǒng)總體需求 即時(shí)通信系統(tǒng)主要用于實(shí)現(xiàn)政府機(jī)構(gòu)、企業(yè)單位、社區(qū)生活的網(wǎng)絡(luò)化,促使政府機(jī)構(gòu)、企業(yè)單位、社區(qū)信息文件即時(shí)發(fā)布和快速傳達(dá)。 表 所示 。由于文件傳輸部分需要保證文件的準(zhǔn)確無誤的傳送,因此在客戶機(jī)與客戶機(jī)之間采用 TCP協(xié)議來實(shí)現(xiàn)。服務(wù)器需要同時(shí)處理所有用戶發(fā)送的各類信息,并且完成數(shù)據(jù)庫存儲、讀取 、更新等操作;還需要采用適當(dāng)方法提高服務(wù)器接收、解讀、處理和發(fā)送數(shù)據(jù)的效率,在指定時(shí)間內(nèi)完成需要的通信量,提高系統(tǒng)的即時(shí)通信性能,同時(shí)保證數(shù)據(jù)處理的公平性,保證各客戶端的信息能夠被及時(shí)響應(yīng)和處理。 理工大學(xué) 學(xué)士學(xué)位論文 16 4 實(shí)現(xiàn) Socket 通信的方案和關(guān)鍵模塊的設(shè)計(jì) 系統(tǒng)總體結(jié)構(gòu)的描述 即時(shí)通信系統(tǒng)是在某一個(gè)或若干個(gè)企事業(yè)單位內(nèi)部使用的即時(shí)溝通和辦公通信的工具和平臺,具有即時(shí)通信、用戶群特定等特點(diǎn)。 JDBC C/S(TCP) C/S(TCP) C/S(TCP) P2P(UDP) P2P(UDP) P2P(UDP) 圖 即時(shí)通信系統(tǒng)框架圖 基于 Socket 的局域網(wǎng)即時(shí)通信系統(tǒng)系統(tǒng) 構(gòu)架如圖 、圖 所示。這樣, 可以實(shí)時(shí)接收每個(gè)用戶的請求,不會(huì)因?yàn)樘幚硪粋€(gè)用戶的請求,而忽略了其它用戶。 總體實(shí)現(xiàn)方案和類的設(shè)計(jì) 1. 系統(tǒng)總體實(shí)現(xiàn)方案 系統(tǒng)將采用 C/S方式設(shè)計(jì),服務(wù)器主要為客戶端服務(wù),通過響應(yīng)客戶端的請求訪問數(shù)據(jù)庫,給用戶提供相應(yīng)的信息,服務(wù)器數(shù)據(jù)庫使用 MySql做數(shù)據(jù)庫管理系統(tǒng)。其中主要包括消息類和類圖,基 nnectio類 ConThread, 另外 還有 其它的 10幾個(gè)類,分別用于各種類型的操作。 理工大學(xué) 學(xué)士學(xué)位論文 24 圖 Socket 的 TCP 連接時(shí)序圖 1.流式套接字 流式套接字可以將數(shù)據(jù)按順序無重復(fù)地發(fā)送到目的地,它提供的是一種可靠的面向連接的數(shù)據(jù)傳輸方式。 由于流式套接字用的是面向連接的協(xié)議,所以必須首先建立連接然后才能從數(shù)據(jù)流中讀出數(shù)據(jù),而不是從一個(gè)數(shù)據(jù)報(bào)或一個(gè)記錄讀出數(shù)據(jù)。用此套接字和客戶機(jī)上的套接字形成網(wǎng)絡(luò)通信管道的兩個(gè)端點(diǎn),然后就可以在服務(wù)器和客戶機(jī)之間進(jìn)行數(shù)據(jù)傳輸了。數(shù)據(jù)通過相互獨(dú)立的報(bào)文進(jìn)行傳輸,是無序的,并且不保證報(bào)文的可靠、無差錯(cuò)。 對于接收端 (一般為服務(wù)器端 ),先用 Socket函數(shù)建立套接字,在通過 bind函數(shù)把這個(gè)套接字和準(zhǔn)備接收數(shù)據(jù)的 IP地址信息綁定在一起,這和前面流套接字一樣,但不同的是它不必調(diào)用 listen和 accept,只需要等待接收數(shù)據(jù)。它首先由服務(wù)器建立Socket 并將該 Socket 聯(lián)編到某個(gè)端口上,并進(jìn)入監(jiān)聽狀態(tài),同時(shí)監(jiān)聽是否有與自己端口相對應(yīng)的連接請求。 服務(wù)器端 客戶端 建立連接 服務(wù)請求 圖 41 基于連接的服務(wù)端、客戶端流程圖 圖 創(chuàng)建服務(wù)器端 Sock() 聯(lián)編到某一個(gè)端口 調(diào)用 bind 監(jiān)聽來自客戶端的連接請求,調(diào)用 listen 阻塞,等待客戶端連接請求調(diào)用accept() 接 受來自于客戶的請求數(shù)據(jù),調(diào)用 read() 數(shù)據(jù)請求數(shù)據(jù) 返回相應(yīng)的數(shù)據(jù) 調(diào)用 write() 創(chuàng)建服客戶端 Socket() 向服務(wù)器端發(fā)送連接請求 調(diào)用 connect() 發(fā)送請求數(shù)據(jù)調(diào)用 write() 接受響應(yīng)數(shù)據(jù) 理工大學(xué) 學(xué)士學(xué)位論文 28 文件傳輸模塊 1. 文件傳輸?shù)膶?shí)現(xiàn) 文件傳輸是通過使用多線程、 套接字、自 定義的傳輸命令等技巧,實(shí)現(xiàn)了多個(gè)用戶之 間 文件傳輸,并可以在傳輸過程 中 進(jìn)行簡單交互的功能。 圖 文件傳輸功能實(shí)現(xiàn)圖 2. 文件傳輸?shù)膱?zhí)行流程 首先是文件發(fā)送端與接收端啟用發(fā)送線程與監(jiān)聽線程,發(fā)送端向接收端提出連接請求,接收端收到請求后啟用接收線程,接收端在收到文件屬性后,發(fā)送同意接收消息 ,雙方就可以開始發(fā)送與接收文件,直到發(fā)送完畢。 考慮到第一種方案,如果要啟動(dòng)多個(gè)客戶的話,要占用的監(jiān)聽端口號多,通信比第二種方案更不方便,所以下面我是采用第二種方案來實(shí)現(xiàn)的 。 這樣主程序的任務(wù)就簡單化,循環(huán)監(jiān)聽客戶連接,每個(gè)客戶連接成功后,創(chuàng)建一個(gè)通信線程,并將與 Socket對應(yīng)的輸入輸出流傳給該線程 。//建立監(jiān)聽服務(wù) while(true) {Socket s1= s. accept( ) 。 allclient } clientnum} . start ( ) 。 / /去往客戶的輸出流 DatalnputStream din。} public void run() {while( true) / /循環(huán)讀 取客戶數(shù)據(jù)轉(zhuǎn)發(fā)給其他客戶 ( try( int m= talks。 for(int i= 0。//轉(zhuǎn)發(fā)給其他 戶 }}〔 atch( IOException e){} }}} 每個(gè)通信線程均在循環(huán)檢測是否本線程對應(yīng)的客戶有數(shù)據(jù)發(fā)送過來,一旦接收到數(shù)據(jù)就通過循環(huán)將數(shù)據(jù)發(fā)送到所有客戶 (包括自己 )的 Socket 通道 。 i++){
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1