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

正文內容

基于socket的即時通信系統(tǒng)設計與實現(xiàn)學士學位論文(文件)

2025-07-10 01:51 上一頁面

下一頁面
 

【正文】 .........................................37附錄 A 英語原文 ..........................................................................................................38附錄 B 漢語翻譯 ...........................................................................................................53理工大學學士學位論文11 緒 論即時通信(Instant Messaging)軟件是我國目前上網用戶使用率最高的軟件之一,即時通信系統(tǒng)(Instant Messaging System)可使人們在網上識別在線用戶并與之實時交流。系統(tǒng)實現(xiàn)后,對系統(tǒng)進行了功能測試,并分析測試數(shù)據(jù)。即時通信軟件的誕生,推動了企業(yè)工作效率的提高,降低了辦公費用,給企業(yè)的管理帶來了新的思路和方法,并引起了人們對該應用領域的關注。本文在現(xiàn)有的網絡通信技術、數(shù)據(jù)庫技術和信息安全技術的基礎上設計并實現(xiàn)了新型的企業(yè)即時通信系統(tǒng)(EIM,Enterprise Instant Messaging)。實驗數(shù)據(jù)表明,該系統(tǒng)具有易于實現(xiàn)、可靠性高、易于擴展、傳輸效率高等特點,達到了預定的設計目標。目前,即時通信和電話、傳真一樣,已經成為企業(yè)員工商務溝通中廣泛使用的交流工具,但個人即時通信軟件在提高了溝通效率的同時也帶來了一些難以管理的問題,如安全性問題、用戶伸縮性問題等。 課題背景企事業(yè)的信息化發(fā)展,越來越需要不同系統(tǒng)協(xié)同工作,這就要求通過網絡進行即時通信。還有的就是使用在本地局域網內即時傳送消息和文件的小工具比如WinpopupX,它沒有服務器端,通過在線列表和操作系統(tǒng)的網上鄰居獲取在線用戶或以網上鄰居中的計算機為對象進行通信,沒有安全性也不便于企業(yè)管理。即時通信軟件在中國市場迅猛增長,各路廠商們正在紛紛推出自己的產品,能滿足企業(yè)需求的還是比較少。即時通信已經成為語音及文本的在線實時通信的主要技術,它必將成為未來移動商務、在線協(xié)作及Inter應用的核心,同時也將繼承IP 技術的開放風格,扮演比電子郵件更為重要的角色。3.伸縮性即時通信從支持幾十個個人用戶,到支持上百萬的個人用戶同時在線,這需要一個非常好的可伸縮性,如何建立一個好的可伸縮的體系結構支持高并發(fā)量的用戶群體也是即時通信軟件提供商要面臨的問題。將大部分工作由手工處理轉變?yōu)橛嬎銠C處理,減少了人工錯誤和通信成本,提高了工作人員的工作效率。主要實現(xiàn)方法包括:1.利用 WinSock 技術實現(xiàn)實時通信 整個系統(tǒng)通信基于 TCP/IP 的通信技術,通過調用 WinSock 的 API 實現(xiàn)相互之間的通信,而 WinSock 利用下層的網絡通信協(xié)議功能和操作系統(tǒng)調用實現(xiàn)實際的通信工作。 5.數(shù)據(jù)庫的管理與應用研究系統(tǒng)服務端使用的數(shù)據(jù)庫訪問技術。第二章對系統(tǒng)應用的相關技術進行描述,主要描述實現(xiàn)系統(tǒng)所需的通信原理、網絡編程基礎以及一些技術方面的基本概念與基本思想。第六章也是全文的最后一章,對全文所開展的工作進行了總結。最后對整個論文的組織結構進行了描述,使參閱者對論文有大致了解。 P2P 模型P2P(Peer to Peer,對等連接或對等網絡)模型,是指網絡中的物理節(jié)點在邏輯上以相同的地位進行通信的模型,而不是處理能力的對等 [6]。其次P2P網絡中數(shù)據(jù)的安全性難以保證,P2P。服務器是一個擁有強大處理能力和很大帶寬的高性能計算機,數(shù)據(jù)和信息都保存在服務器上。即時通信服務器是數(shù)據(jù)中心,需要同時應對眾多客戶的請求 [7]。理工大學學士學位論文7圖 C/S 模型圖 即時通信主流的通信協(xié)議傳輸控制協(xié)議TCP 和用戶數(shù)據(jù)報UDP 是TCP/IP協(xié)議族的兩個主要的傳輸協(xié)議,這兩個協(xié)議都使用IP作為網絡層協(xié)議 [8]。TCP、UDP最大的區(qū)別在于為應用協(xié)議提供不同的服務。它不需要通過一些握手協(xié)議確保連接的可靠性,發(fā)送方直接把數(shù)據(jù)廣播到理工大學學士學位論文8網絡上,任何欲接收者都可接收到數(shù)據(jù)。作為一種面向無連接的傳輸協(xié)議,基于UDP的應用程序在高可靠性、地延遲的網絡中運動的很好,但是在通信子網的服務質量相對很低下的Inter上,它可能就無法運行了,因為數(shù)據(jù)報的丟失過于頻繁。它主要的功能是提供大量數(shù)據(jù)的傳輸并確保其傳輸無誤,并提供錯誤檢查、數(shù)據(jù)復原以及數(shù)據(jù)超時重傳等機制,適用于傳輸可靠性要求比較高的數(shù)據(jù)傳輸 [9]。 Socket 技術隨著 Inter 的迅猛發(fā)展,網絡通信應用程序的開發(fā)成為一個研究熱點。用戶目前可以使用兩種類型的套接字,它們是流式套接字(Stream Sockets) 和數(shù)據(jù)報套接字(Datagram Sockets),這兩種套接字傳輸?shù)臄?shù)據(jù)類型是不同的,因而其使用方法和相應的程序設計模型也是不同的 [11]。每個線程都有自己應用程序 A 應用程序 B網絡接口,例如,Windows Socket網絡服務協(xié)議接口,例如 TCP/IP操作系統(tǒng),例如 Windows物理通信介質理工大學學士學位論文10的專有寄存器,但代碼區(qū)是共享的,即不同的線程可以執(zhí)行同樣的函數(shù)。其基本設計思路是:服務器端啟動后,進入偵聽模式,如果有客戶端連接的信號收到,服務器就自己新建一個 Socket,然后新建一個線程用來和需要連接的客戶端通信,同時,為了能夠使 windows 窗口響應,還要發(fā)送事件給父窗口,接著自己繼續(xù)偵聽。我們所用到的訪問數(shù)據(jù)庫的技術是JDBC。JDBC 為數(shù)據(jù)庫開發(fā)人員提供了一個標準的 API,據(jù)此可以構建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純 Java API 編寫數(shù)據(jù)庫應用程序。 Java 數(shù)據(jù)庫連接體系結構是用于 Java 應用程序連接數(shù)據(jù)庫的標準方法。JDBC 實現(xiàn)了所有這些面向標準的目標并且具有簡單、嚴格類型定義且高性能實現(xiàn)的接口。JDBC 擴展了 Java 的功能。安裝和版本控制將大為簡化。 Eclipse 簡介Eclipse 最初由 OTI 和 IBM 兩家公司的 IDE 產品開發(fā)組創(chuàng)建,起始于 1999 年 4 月。Eclipse 的本身只是一個框架平臺,但是眾多插件的支持使得 Eclipse 擁有其他功能相對固定的 IDE 軟件很難具有的靈活性。由于 Eclipse 中的每樣東西都是插件,對于給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。4. 提供 Git 版本控制系統(tǒng)的緊密集成。在2022 年 1 月 16 號被 Sun 公司收購。MySQL 的 SQL“結構化查詢語言”。MySQL 數(shù)據(jù)庫還有以下特點:1.使用 C 和 C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性。   4.支持多線程,充分利用 CPU 資源。   8.提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具。它能夠將難以理解的復雜文本和表格轉換為一目了然的 Visio 圖。所以,結合實際情況選擇合適的替代工具不失為一種明智的選擇。接著對系統(tǒng)所用到的技術進行描述。系統(tǒng)的工作流程分為服務器端和客戶端工作流程。同時保證數(shù)據(jù)即時快速的傳遞。在本系統(tǒng)的設計中,協(xié)議選擇既有 TCP協(xié)議也有UDP 協(xié)議,系統(tǒng)中的C/S模式采用TCP 協(xié)議, P2P模式采用UDP協(xié)議。2.通信效率和公平性:這主要體現(xiàn)在服務器端。 本章小結本章主要對系統(tǒng)的總體設計及功能模塊進行描述,首先對系統(tǒng)的總體需求進行分析,然后介紹各功能模塊,最后對客戶端,和服務器的工作流程進行了描述,并畫出流程圖,為開發(fā)系統(tǒng)做好準備。其系統(tǒng)總體框架如圖。在線程里,按照接收到數(shù)據(jù)的類別(用特殊字符來辨別),進行相應的處理,如有需要,會向用戶發(fā)送處理的結果,處理結束后,線程就結束了。NYNY圖 客戶端通信流程圖客戶端的即時通信工作流程可作如下描述:1.啟動客戶端,首先進行注冊,注冊成功開始顯示登錄界面驗證成功建立連接顯示主界面文件傳輸向服務器發(fā)送請求服務器接受請求并處理實現(xiàn)用戶請求客戶端退出結束結束添加刪除好友文件傳輸理工大學學士學位論文222.顯示登錄主界面,輸入賬號和密碼,用戶開始登錄;3.客戶端開始在線偵聽,用戶可以在主界面進行某種操作;4.用戶可以發(fā)送各種聊天信息,文件傳輸請求等應用請求;5.請求發(fā)出后自動等待服務器返回的數(shù)據(jù),解讀該數(shù)據(jù)并判定請求的結果;6.執(zhí)行結果,并保存處理信息至本地鏈接(若干文件組成);7.在客戶端退出前循環(huán)執(zhí)行用戶的各種操作,并發(fā)送各種請求;8.客戶端退出則斷開該連接。2.系統(tǒng)通信核心類類用于描述一組具有相同屬性、操作、關系和語義的對象 [20]。 利用 Socket 進行 TCP 連接Socket進行TCP網絡連接,是一種客戶/服務器的連接類型,利用Socket 的API進行。此外,在數(shù)據(jù)傳輸時,如果連接斷開,應用程序會被通知的。TCP 服務端Socket()Bind()Listen()等待客戶請求Accept()CloseSocket()Recv()Send()Connect()Send()Recv()CloseSocket()Socket()TCP 客戶端理工大學學士學位論文25首先,服務器要創(chuàng)建一個用于監(jiān)聽的套接字,把它綁定到眾所周知的服務器端口上,然后調用 listen 函數(shù)使它處于監(jiān)聽狀態(tài);客戶機在創(chuàng)建套接字后,即可調用connect 函數(shù),請求與服務器套接字連接;服務器套接字在收到客戶機的連接請求后,調用 accept 函數(shù)來接收客戶機的連接請求,并創(chuàng)建另一個用于通信的套接字。2.數(shù)據(jù)報套接字數(shù)據(jù)報套接字節(jié)提供了不可靠的、無連接的數(shù)據(jù)包通信方式。無連接的服務器一般都是面向事務處理的,大多數(shù)的數(shù)據(jù)報套接字應用程序將使用一個事件序列來完成客戶應用程序和服務器應用程序之間的通信,其編程過程相對。理工大學學士學位論文26服務請求服務響應圖 流式套接字圖 建立連接請求數(shù)據(jù)應答數(shù)據(jù) 圖 數(shù)據(jù)報套接字圖 Socket()Bind()等待客戶請求Rendform()()Close()Send()Send()Rendform()Close()Bind()Socket()處理請求Socket()Bind()Listen()等待客戶請求Accept()Close()Rend()Write()Connect()Write()Read()Close()Socket()理工大學學士學位論文27 面向連接的 Socket 機制的模塊設計圖 是一個典型的面向連接的 Socket 通信機制的示意圖。通過該方式建立起來的 C/S 程序即可實現(xiàn)一臺服務器端和一臺客戶端的通信。其中ServerTest 類主要用于發(fā)送文件,ClientTest類用于計算文件的長度、接收文件,Jprocess類用于生成文件發(fā)送的進度條。 方案二:將服務器寫成多線程的,責循環(huán)等待,處理線程負責網絡連接,接收客戶輸入的信息。為了實現(xiàn)兩個目標,必須設法將任務分開,可以借助多線程技術,在服務方為每個客戶連接建立一個通信線程,通信線程負責接受客戶的消息并將消息轉發(fā)給其他客戶。 //連接客戶數(shù) public static void main( String args}])理工大學學士學位論文31{try{ServerSocket s= nrw ServerSocket( 8000)。 allclient }〔lientnum }=nc}v Client(dientnum,dos, din)。 //客戶標識 DataOutputStream los。 this. lin= lin。 for(int i= 0。//轉發(fā)給其他戶 }}〔 atch( IOException e){} }}} 每個通信線程均在循環(huán)檢測是否本線程對應的客戶有數(shù)據(jù)發(fā)送過來,一旦接收到數(shù)據(jù)就通過循環(huán)將數(shù)據(jù)發(fā)送到所有客戶(包括自己)的 Socket 通道。 Socket s1=new Socket(“LBG,8 000)。 當客戶要發(fā)送數(shù)據(jù)的時候,先將數(shù)據(jù)發(fā)送到服務器,然后由服務器轉發(fā)給其他正在檢測的用戶,下面代碼就是主要負責向其他客戶發(fā)送數(shù)據(jù)。 try{ String str=new String( dis. readUTF())。 結 論本文主要研究和實現(xiàn)了一種符合當前學校實際應用需求的即時通信系統(tǒng)。2.分析了一個P2P和C/S相結合的混合通信模型。 參考文獻[1]佘其炯.[J],2022,06:4143[2]姚翌.騰訊通 RTX3.3 發(fā)布企業(yè)互聯(lián)與集成技術世界領先[J].計算機與網絡 2022,07(30):1516[3]李遠杰等.主流即時通軟件通信協(xié)議分析術[J].計算機應用研究,2022,07(15):46[4] 王宇,[J],2022(32卷、12期):173175[5]康曉寧.讓溝通隨時進行——中建國際企業(yè)即時通信應用實例[J].微電腦世界,2022,04:1416[6]王珊,薩師煊的數(shù)據(jù)庫系統(tǒng)概論(第四版)[
點擊復制文檔內容
法律信息相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1