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

正文內(nèi)容

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

  

【正文】 臺(tái)計(jì)算機(jī)上啟動(dòng)多個(gè)服務(wù)器程序,而指定服務(wù)器監(jiān)聽端口號(hào)不同,一個(gè)服務(wù)器對(duì)應(yīng)一個(gè)客戶機(jī) 。 從圖 可以看出,服務(wù)器方必須首先啟動(dòng),然后守候在某一個(gè)端口上監(jiān)聽客戶方的連接請(qǐng)求,一旦連接建立,就可以像普通流機(jī)制那樣進(jìn)行讀 /寫,只需調(diào)用 close()即可結(jié)束 Socket 連接。對(duì)于在 TCP/IP上實(shí)現(xiàn)的 Socket,數(shù)據(jù)報(bào)套接字節(jié)使用 UDP協(xié)議 [9]。使用流式套接字時(shí),用戶在發(fā)送、接收數(shù)據(jù)之前同樣必須首先建立連接,然后才能傳輸數(shù)據(jù),流式套接字編程模型的工作流程如圖 。 關(guān)鍵模塊詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 主要對(duì)各個(gè)功能模塊實(shí)現(xiàn)做具體的描述,加深對(duì)系統(tǒng)的認(rèn)識(shí)。 理工大學(xué) 學(xué)士學(xué)位論文 20 N N Y Y Y N Y N Y N N Y 圖 服務(wù)器端工作流程 啟動(dòng)服務(wù) 監(jiān)聽客戶端連接 用戶連接請(qǐng)求 用戶登錄建立合法連接,顯示用戶上線通知 響應(yīng)用戶發(fā)出的請(qǐng)求 文本通信 文本傳輸 用戶退出 用戶下線通知 退出 開始 登錄成功 返回 對(duì)方上線 保存到本地連接 轉(zhuǎn)發(fā)給對(duì)方 建立連接 完成文件傳輸 保存文件 理工大學(xué) 學(xué)士學(xué)位論文 21 客戶端工作流程 客戶端即時(shí)通信流程如圖 所示??蛻舳死?TCP通信協(xié)議,并通過(guò)基于 UDP通信協(xié)議的 P2P技術(shù)與其他客戶端進(jìn)行交流;服務(wù)器處理客戶端發(fā)送來(lái)的信息,并利用 TCP通信 協(xié)議將信息反饋回客戶端以及保存用戶的在線與離線狀態(tài);服務(wù)數(shù)據(jù)庫(kù)主要負(fù)責(zé)用戶注冊(cè)信息保存,用戶聊天記錄的保存。這些都是一個(gè)有實(shí)用價(jià)值的軟件必須具備的性能,具體如以下四點(diǎn)所述: 1. 數(shù)據(jù)通信完整與可靠性:即時(shí)通信即用戶間能實(shí)時(shí)發(fā)送和接收各種信息,包括文本通信和文件傳輸,確保數(shù)據(jù)的可到達(dá)性、確保數(shù)據(jù)解讀的正確性,防止數(shù)據(jù)丟失或數(shù)據(jù)錯(cuò)位,從而保證消息傳送的可靠性。 系統(tǒng)功能描述 本系統(tǒng)主要實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的私聊,多人群聊,發(fā)送網(wǎng)絡(luò)圖片,即時(shí)發(fā)送文件,歷史記錄的保存等功能。接著對(duì)系統(tǒng)所使用的協(xié)議進(jìn)行描述,闡述了各自的優(yōu)缺點(diǎn)。 10.支持多種存儲(chǔ)引擎。 3.為多種編程語(yǔ)言提供了 API。 MySQL 是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng) 庫(kù)內(nèi)。 2. Eclipse Market ,用戶可以在線獲取應(yīng)用市場(chǎng)上種類繁多的 Eclipse 插件 (包括免費(fèi)的和收費(fèi)的 ),相比原來(lái)的 Install new software(現(xiàn)在仍然存在并可用 ),更加直接和便捷。目前由 IBM 牽頭,圍繞著 Eclipse 項(xiàng)目已經(jīng)發(fā)展成為了一個(gè)龐大的 Eclipse 聯(lián)盟。企業(yè)可繼續(xù)使用它們安裝好的數(shù)據(jù)庫(kù),并能便捷地存取信息,即使這些信息是儲(chǔ)存在不同數(shù)據(jù)庫(kù)管理系統(tǒng)上。作為 API, JDBC為程序開發(fā)提供標(biāo)準(zhǔn)的接口,并為數(shù)據(jù)庫(kù)廠商及第三方中間件廠商實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接提供了標(biāo)準(zhǔn)方法。其顯著 特點(diǎn)是快速、簡(jiǎn)單。多線程的應(yīng)用可以大大地提高 CPU的利用率,在多線程程序中,一個(gè)線程必須等待的時(shí)候, CPU可以運(yùn)行其它的線程而不是等待。 應(yīng)用程序調(diào)用 Socket的 API(應(yīng)用程序編程接口 )實(shí)現(xiàn)相互之間的通信,又利用下層的理工大學(xué) 學(xué)士學(xué)位論文 9 網(wǎng)絡(luò) 通信協(xié)議功能和操作系統(tǒng)調(diào)用實(shí)現(xiàn)實(shí)際的通信工作。因此,基于 UDP的應(yīng)用程序如果想在可靠性低下的網(wǎng)絡(luò)中運(yùn)行的話,必須自己提供可靠性保障,例如遺失數(shù)據(jù)報(bào)重重傳、失序的數(shù)據(jù)報(bào)重新組合等。 UDP傳輸不像 TCP傳輸一樣需 要預(yù)先建立一條連接, UDP把數(shù)據(jù)發(fā)送出去但不進(jìn)行差錯(cuò)控制和流量控制,報(bào)文可能丟失、重復(fù)或者失序,而發(fā)送方卻得不到通知的,數(shù)據(jù)也不會(huì)被重傳。當(dāng)增加一個(gè)客戶,服務(wù)器的性能就會(huì)弱化,甚至?xí)狗?wù)器失效而導(dǎo)致整個(gè)網(wǎng)絡(luò)的癱瘓等,其優(yōu)點(diǎn)是便于集中管理,像這種結(jié)構(gòu)一般用在用戶數(shù)量少的局域網(wǎng)內(nèi)。該模型可以合理利用兩端硬件環(huán)境優(yōu)勢(shì),將 任務(wù)合理分配到客戶端和服務(wù)器上,降低系統(tǒng)通信開銷。本章主要研究主流的即時(shí)通信模型、網(wǎng)絡(luò)通信技術(shù)、程序設(shè)計(jì)等 。 第四章 對(duì)實(shí)現(xiàn) Socket通信的各個(gè)模塊進(jìn)行了研究與分析 。 3. 應(yīng) 用多線程 使網(wǎng)絡(luò)服務(wù)器具有了多用戶訪問(wèn)數(shù)據(jù)轉(zhuǎn)發(fā)的功能,進(jìn)而解決多用戶間的并發(fā)通信問(wèn)題。由于即時(shí)通信服務(wù)是一種公共服務(wù),處于開放網(wǎng)絡(luò)環(huán)境下,因而它為企業(yè)或機(jī)構(gòu)用戶提供協(xié)作支持的同時(shí),也帶來(lái)了來(lái)自公眾網(wǎng)絡(luò)的干擾,存在影響工作效率甚至信息安全的隱患。由于各大即時(shí)通信廠家考慮自身的商業(yè)利益,到目前為止還沒有完全制定統(tǒng)一標(biāo)準(zhǔn)的通信協(xié)議。還有些單位采用市面上流行的即時(shí)通信軟件,比如 ICQ、騰訊 、EMS等軟件,但這些軟件一般針對(duì)個(gè)人通信,屬于公共服務(wù)軟件的一種,處于開放網(wǎng)絡(luò)環(huán)境下,聊天對(duì)象與聊天內(nèi)容不可控制,上班時(shí)使用 EMS、 可能會(huì)降低工作效率。 its research is a hot topic in Inter applications. The birth of instant messaging software, to promote the work efficiency of the enterprise, reducing business costs, to the enterprise39。I 摘 要 隨著網(wǎng)絡(luò)通信技術(shù)和計(jì)算機(jī)技術(shù)的進(jìn)一步發(fā)展,即時(shí)通信 (Instant Messaging)正在成為網(wǎng)絡(luò)在線活動(dòng)中不可缺少的業(yè)務(wù),對(duì)它的研究是互聯(lián)網(wǎng)應(yīng)用中一個(gè)熱點(diǎn)課題。 關(guān)鍵詞: 即時(shí)通信, Socket,通信模型, 文件傳輸 理工大學(xué) 學(xué)士學(xué)位論文 II Abstract With the work munication technology and the further development of puter technology, instant messaging (Instant Messaging) is being an indispensable work of online business activities?,F(xiàn)在企事業(yè)單位采用電話和電子郵件通信手段,雖然起了很大的溝通作用,但還是無(wú)法實(shí)現(xiàn)即時(shí)通信。而且目前的即時(shí)通信系統(tǒng)大多存在以下問(wèn)題: 1. 標(biāo)準(zhǔn)化 目前即時(shí)通信的發(fā)展存在的最突出問(wèn)題就是相關(guān)通信協(xié)議和標(biāo)準(zhǔn)不統(tǒng)一,各個(gè)即時(shí)通信軟件采用不同的語(yǔ)言和協(xié)議標(biāo)準(zhǔn)而無(wú)法相互通信 [3]。 研究意義 隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,即時(shí)通信正在成為在線活動(dòng)中不可或缺的業(yè)務(wù)。 2. 采用 P2P 與 C/S 混合模式來(lái)實(shí)現(xiàn)整個(gè)系統(tǒng)的通信架構(gòu) 確定用戶之間通信模式為 P2P 模式便于直接通信高效傳輸信息,用戶與服務(wù) 器之間采用 C/S 模式用于通信的初始聯(lián)接及保存用戶信息和通信過(guò)程中的一些相關(guān)數(shù)據(jù)。 第三章是系統(tǒng)總體設(shè)計(jì),介紹了軟件的整體 (服務(wù)器和客戶機(jī) )設(shè)計(jì)思路和概要設(shè)計(jì),從總體上介紹軟件的設(shè)計(jì)要求、工作流程以及各個(gè)功能模塊,對(duì)系統(tǒng)中的關(guān)鍵技術(shù)進(jìn)行闡述。 理工大學(xué) 學(xué)士學(xué)位論文 5 2 Socket 相關(guān)技術(shù) 研究 企業(yè)即時(shí)通信系統(tǒng)是在客戶端服務(wù)器程序設(shè)計(jì)基礎(chǔ)上按照軟件工程設(shè)計(jì)思想,采用大量的計(jì)算機(jī)程序設(shè)計(jì)技術(shù)和網(wǎng)絡(luò)通信技術(shù)設(shè)計(jì)并實(shí)現(xiàn)。 理工大學(xué) 學(xué)士學(xué)位論文 6 圖 P2P 模型圖 C/S 模型 C/S(Client/Server,客戶 /服務(wù)器 )模型,簡(jiǎn)稱 C/S架構(gòu)。 C/S通信主要特點(diǎn)是客戶端之間的通信都要通過(guò)服務(wù)器的轉(zhuǎn)發(fā),會(huì)造成服務(wù)太 集中,在 C/S模型中,當(dāng)網(wǎng)絡(luò)增大時(shí),服務(wù)器的壓力就越大。 UDP 協(xié)議 用戶數(shù)據(jù)報(bào)協(xié)議 UDP是建立在網(wǎng)際協(xié)議之上的,提供面向無(wú)連接、不可靠的數(shù)據(jù)報(bào)傳輸服務(wù)的傳輸協(xié)議 [9]。原因就在于 UDP的不可靠性,而這些應(yīng)用程序自身可能有沒有提供可靠性保障。 Windows環(huán)境下進(jìn)行通信程序設(shè)計(jì)的最基本方法是采用 Socket 技術(shù)實(shí)現(xiàn) [10]。多線程是指,程序中包含多個(gè)執(zhí)行流,即在一個(gè)程序中可以同時(shí)運(yùn)行多個(gè)不同的線程來(lái)執(zhí)行不同的任務(wù),也就是說(shuō)允應(yīng)用程序 A 應(yīng)用程序 B 網(wǎng)絡(luò)接口,例如, Windows Socket 網(wǎng)絡(luò)服務(wù)協(xié)議接口,例如 TCP/IP 操作系統(tǒng),例如 Windows 物理通信介質(zhì) 理工大學(xué) 學(xué)士學(xué)位論文 10 許單個(gè)程序創(chuàng)建多個(gè)并行執(zhí)行的線程來(lái)完成各自的任務(wù),也就是多進(jìn)程。 JDBC即活動(dòng)的數(shù)據(jù)對(duì)象,是 Microsoft開發(fā)的用于訪問(wèn)數(shù)據(jù)庫(kù)的。 JDBC 對(duì) Java程序員而言是 API,對(duì)實(shí)現(xiàn)與數(shù)據(jù)庫(kù)連接的服務(wù)提供商而言是接口模型。 Java 和 JDBC 的結(jié)合使信息傳 播變得容易和經(jīng)濟(jì)。IBM 提供了最初的 Eclipse 代碼基礎(chǔ)。 理工大學(xué) 學(xué)士學(xué)位論文 12 Eclipse 主要特點(diǎn): 1.增加了 WindowBuilder ,一個(gè)流行的 Eclipse 開發(fā) GUI 構(gòu)建器,用戶需要以安裝插件的形式獲得此功能。而 20xx 年, SUN 又被 Oracle 收購(gòu)。 2.支持 Linux、 Mac OS、 Solaris、 Windows 等多種操作系統(tǒng)。 理工大學(xué) 學(xué)士學(xué)位論文 13 9.可以處理?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù)。 本章小結(jié) 本章對(duì)系統(tǒng)所應(yīng)用的技術(shù)進(jìn)行描述,首先對(duì)系統(tǒng)所使用的模型進(jìn)行了描述,對(duì)兩種模型進(jìn)行了對(duì)比。 即時(shí)通信系統(tǒng)以 “先進(jìn)合理的應(yīng)用理念 ”、 “高效率的通信服務(wù) ”,為用戶提供了一套快捷的即時(shí)信息交流和辦公的平臺(tái),以增強(qiáng)企事業(yè)單位內(nèi)部的信息交流,解決其內(nèi)部信息公告、信息交流、 文件傳送等問(wèn)題,降低溝通成本,提高單位的工作效率,為各企事業(yè)單位提供方便、快捷的即時(shí)通信服務(wù) [19]。 系統(tǒng)設(shè)計(jì)性能分析 作為企 (事 )業(yè)單位內(nèi)部員工簡(jiǎn)便的辦公和溝通平臺(tái),企業(yè)即時(shí)通信系統(tǒng) 需要保證數(shù)據(jù)通信的即時(shí)性以及通信過(guò)程和信息存儲(chǔ)的安全性 [20],為企事業(yè)單位的使用者提供信息安全保障,同時(shí)減少系統(tǒng)資源的消耗,保證系統(tǒng)運(yùn)行的低故障率。本系統(tǒng)采用的是三層式的 C/S構(gòu)架來(lái)保證網(wǎng)絡(luò)通信的機(jī)制:客戶端、服務(wù)器端,服務(wù)數(shù)據(jù)庫(kù)。服務(wù)器端即時(shí)通信工作流程如圖 。 (1) ConnectionThread 該類是客戶端發(fā)送給服務(wù)器消息,接收服務(wù)器消息的類,也是客戶端眾多線程中的主線程 (2) RegisterInfo和 RegisterFrame RegisterFrame類 用來(lái) 生成注冊(cè)頁(yè)面,完成注冊(cè)界面相應(yīng)的布局, RegisterInfo類 用來(lái)生成 填寫注冊(cè)信息界面,驗(yàn)證注冊(cè)信 息格式是否正確,如果不正確給出相應(yīng)的提示信息 (3) ChatF和 ChatF1 ChatF1類主要實(shí)現(xiàn)客戶端與客戶端點(diǎn)對(duì)點(diǎn)的私聊,實(shí)現(xiàn)文件傳輸,發(fā)送消息主要用函數(shù) sendMessage(),文件傳輸主要在 actionPerformed()中實(shí)現(xiàn) , ChatF類主要實(shí)現(xiàn)多人群聊發(fā)送消息也是用函數(shù) sendMessage()來(lái)實(shí)現(xiàn) (4) History 理工大學(xué) 學(xué)士學(xué)位論文 23 該類主要用 于 歷史記錄讀取,關(guān)閉聊天窗口,如果歷史記錄為空給出提示信息 (5) ListF 主要用于生成在線好友列表 (6) FindFriendFrame 該類 主要用于根據(jù) qq號(hào)查找好友,然后添加好友,實(shí)現(xiàn)通信 (7) Dao 該類用于實(shí)現(xiàn)服務(wù)器與數(shù)據(jù)庫(kù)的連接,處理數(shù)據(jù) (8) Server 該類是服務(wù)器實(shí)現(xiàn)通信 , 與客戶端進(jìn)行交互的類, 用于 接收客戶端的各種操作請(qǐng)求,處理相應(yīng)的請(qǐng)求 (每個(gè)請(qǐng)求由特殊字符來(lái)區(qū)分 ),響應(yīng)請(qǐng)求, 實(shí)現(xiàn) 客戶端與客戶端,客戶端與服務(wù)器實(shí)現(xiàn)通信 。 流式套接字的服務(wù)進(jìn)程和客戶進(jìn)程在通信前必須創(chuàng)建各自的套接字并建立連接,然后才能對(duì)相應(yīng)的套接字進(jìn)行 “ 讀 ” 、 “ 寫 ” 操作,實(shí)現(xiàn)數(shù)據(jù)傳輸。實(shí)際使用中,數(shù)據(jù)報(bào)套接字一般用于一些輕負(fù)載的局域網(wǎng)上的計(jì)算機(jī)之間的通信 , 同一個(gè)分組數(shù) 據(jù)報(bào)可能不止一次地被發(fā)送,一般要等到接收方發(fā)回確認(rèn)收到的消息才 停止發(fā)送。連接是由客戶發(fā)出的,客戶方在建立自己的 Socket 后,向 服務(wù)器發(fā)出連接請(qǐng)求,服務(wù)器在檢測(cè)到連接后接受,這樣就建立了一個(gè)完整的 Socket 連接。 理工大學(xué) 學(xué)士學(xué)位論文 29 本章小結(jié) 本章首先進(jìn)行了對(duì)系統(tǒng)的總體實(shí)現(xiàn)方案和類的設(shè)計(jì)進(jìn)行了 研究 , 研究 了它所用到的協(xié)議,其次說(shuō)明了各類的功能,再說(shuō)明了系統(tǒng)如何實(shí)現(xiàn)各個(gè)功能,最后概述了 系統(tǒng)的詳細(xì)設(shè)計(jì)和具體實(shí)現(xiàn)方法,畫出了各部分的圖示。 程序代碼如下 : public〔 lass talkserver {public static Client]allclient= nc}v Client[ 20}。 //創(chuàng)建與客戶對(duì)應(yīng)的通信線 〔 lientnum++。二 .clientnum。 理工大學(xué) 學(xué)士學(xué)位論文 32 5. 3 聊天客戶端
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1