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

正文內(nèi)容

基于socket的即時通訊軟畢業(yè)設(shè)計40論文41(編輯修改稿)

2024-12-29 16:04 本頁面
 

【文章內(nèi)容簡介】 數(shù)據(jù),但不執(zhí)行正確性檢查。 ICMP 互連網(wǎng)控制報文協(xié)議( Inter Control Message Protocol),處理主機(jī)間的差錯和傳送控制 。ARP 地址解析協(xié)議( Address Resolution Protocol),負(fù)責(zé)將網(wǎng)絡(luò)層地址轉(zhuǎn)換成鏈路層地址。RARP 反向地址解析協(xié)議( Reverse Address Resolution Protocol),負(fù)責(zé)將鏈路層地址轉(zhuǎn)換成網(wǎng)絡(luò)層地址。 TCP/IP 協(xié)議的核心是傳輸層協(xié)議( TCP、 UDP)、網(wǎng)絡(luò)層協(xié)議( IP)和物理接口層,這三層通常在操作系統(tǒng)的內(nèi)核中實(shí)現(xiàn)。 TCP/IP 網(wǎng)絡(luò)環(huán)境下的應(yīng)用程序設(shè)計是通過網(wǎng)絡(luò)系統(tǒng)編程界面 Socket 實(shí)現(xiàn)的, Socket 提供應(yīng)用程序與系統(tǒng)內(nèi)核之間的網(wǎng)絡(luò)編程接口。協(xié)議可以是 可靠的可以是不可靠的。可靠的協(xié)議意味著當(dāng)數(shù)據(jù)通過協(xié)議傳遞時,協(xié)議保證數(shù)據(jù)正確傳輸。可靠傳輸包括幾個特征。首先,為了確保數(shù)據(jù)正確傳送,協(xié)議在通信應(yīng)用程序之間互相交換確認(rèn)信息。 也就是說,程序每次發(fā)送 一 個報文時,都期望對方發(fā)送一個相當(dāng)于說: “我得到這個報文 ”的確認(rèn)信息。如果發(fā)送程序沒有收到這樣一個確認(rèn)信息,程序?qū)⒆詣又匦掳l(fā)送此報文,直到得到應(yīng)答信息為止。其次,為了確保傳輸?shù)臄?shù)據(jù)有效,可靠協(xié)議在每次傳輸時,都包含一個或更多的校驗(yàn)和( CRC)。接收計算機(jī)重新計算校驗(yàn)和,與收到的校驗(yàn)和進(jìn)行比較。如果不匹配,就表明在傳輸 過程中發(fā)生了錯誤。 傳輸控制協(xié)議 TCP 是一個使用校驗(yàn)和、確認(rèn)信息以及其它可靠數(shù)據(jù)傳輸技術(shù)的可靠協(xié)議。相比之下,不可靠協(xié)議不能確保數(shù)據(jù)正確傳輸。協(xié)議試圖傳輸數(shù)據(jù),但不保證成功。而且,不可靠協(xié)議在傳輸失敗后,并不通知發(fā)送方應(yīng)用程序。可將不可靠數(shù)據(jù)傳輸比作沒有返回地址的信件。如果發(fā)送地址是 錯 誤的,由于郵遞系統(tǒng)不能將信退回給你,所以你就不知道信件有沒有送到。即使發(fā)送地址是正確的,也不能保證郵遞系統(tǒng)不丟失你的信件 [8]。 TCP/ IP 協(xié)議組中存在的兩個基本數(shù)據(jù)服務(wù)是:字節(jié)流服務(wù)和數(shù)據(jù)報服務(wù)。使用字節(jié)流的協(xié)議將信息看作 一串字節(jié)流進(jìn)行傳輸。協(xié)議不管要求發(fā)送或接收數(shù)據(jù)的長度和傳送數(shù)目,只是將數(shù)據(jù)看作一個簡單的字節(jié)串流。使用數(shù)據(jù)報的協(xié)議將信息視作一個獨(dú)立長沙學(xué)院 畢業(yè)設(shè)計 (論文 ) 6 單元進(jìn)行傳輸。協(xié)議單獨(dú)發(fā)送每個數(shù)據(jù)報 ——數(shù)據(jù)報之間不相互依賴。例如,假設(shè)你使用字節(jié)流協(xié)議發(fā)送 5 個數(shù)據(jù)段(每個有 10 字節(jié))和一個包含 50 字節(jié)的數(shù)據(jù)段(總共 100字節(jié))。連接的接收方可以按每次 20 字節(jié)讀數(shù)據(jù) (要讀 5 次 )。傳輸控制協(xié)議是字節(jié)流協(xié)議。 字節(jié)流協(xié)議不關(guān)心每個數(shù)據(jù)段的長度。如果應(yīng)用程序使用字節(jié)流協(xié)議發(fā)送數(shù)據(jù),則協(xié)議能夠保證連接的另一端按照發(fā)送的順序接收數(shù)據(jù)。相比之下,傳輸?shù)?同一目的地的多個數(shù)據(jù)報可能不會按發(fā)送順序到達(dá)。如果接收方應(yīng)用程序要求數(shù)據(jù)順序一致,應(yīng)用程序必須在數(shù)據(jù)到達(dá)后,校對這些數(shù)據(jù)。用戶數(shù)據(jù)報協(xié)議和互連網(wǎng)協(xié)議使用數(shù)據(jù)報傳輸數(shù)據(jù)。數(shù)據(jù)報類似于信件。如果你在同一天給同一個人郵寄兩封信,你無法知道那個人先收到那封信。同樣,如果連續(xù)兩天給兩個人郵信,你也不能知道哪封信先收到。收到信的順序和發(fā)送順序可能相反。 在 TCP/IP 術(shù)語中,端口( Port)類似于 IP 地址, IP 地址與主機(jī)地址是相聯(lián)系的,端口和協(xié)議相聯(lián)系。 IP 數(shù)據(jù)報保存目的和源 IP 地址,同樣傳輸協(xié)議也保存源和目的端口號。 如果端口這個概念對你來說很陌生,請考慮計算機(jī)上的硬件端口。你可能編寫過往硬件端口送數(shù)據(jù)的程序。例如為了打印,如果沒有其它程序的話,必須向串或并端口發(fā)送數(shù)據(jù)。 PC 機(jī)給它的端口命名和編號。 例如, PC 機(jī)的并行打印端口稱為 LPTl 和 LPT2,串行端口稱為 COM1 和 COM2。在 Inter 上,網(wǎng)絡(luò)只是簡單地對協(xié)議端口編號。在 PC 機(jī), LPT1 表示并行端口 1。 成千的 PC 機(jī)應(yīng)用程序使用此方案。 多年來,程序員編寫 PC 程序時都假定 LPT1 表示并行打印端口 1。同樣,程序員將每個 Inter 協(xié)議端口與一個特定的應(yīng)用程序和 功能聯(lián)系在一起。 Inter 包括像 FTP、 Tel 和 Mail 這樣廣泛使用的應(yīng)用程序采用的應(yīng)用協(xié)議,在Inter 上,這些應(yīng)用程序使用一種叫做 “通用口分配 ”的端口。 通用口分配是特定應(yīng)用程序廣泛使用的一個協(xié)議端口。 像 PC 程序員使用打印端口 LPT1 用于打印, Inter 程序員也對具體應(yīng)用程序使用許多協(xié)議端口。例如,平凡文件傳輸協(xié)議( FTP)的通用口分配是端口號 21 的。 Tel 的通用口分配是端口號 23[8]。 客戶機(jī) /服務(wù)器模型 客戶機(jī) /服務(wù)器 ( C/S) 模型 是一種網(wǎng)絡(luò)模型,它并不是定義 了網(wǎng)絡(luò)的層次結(jié)構(gòu),而是描述了一種網(wǎng)絡(luò)程序運(yùn)行的方式。 客戶機(jī) /服務(wù)器模型將網(wǎng)絡(luò)應(yīng)用程序分為客戶和服務(wù)器兩部分。客戶方對服務(wù)器方發(fā)送信息請求,服務(wù)器方對其做出相應(yīng)回答,提供服務(wù)。在 TCP/IP 網(wǎng)絡(luò)應(yīng)用中,多數(shù)網(wǎng)絡(luò)應(yīng)用程序是使用客戶機(jī) /服務(wù)器模型設(shè)計的。服務(wù)程序通常在一個眾所周知的地址監(jiān)聽對服務(wù)的請求,也就是說,服務(wù)進(jìn)程一直處于休眠狀態(tài),直到一個客戶程序提出了請求長沙學(xué)院 畢業(yè)設(shè)計 (論文 ) 7 信息。此時,服務(wù)程序被喚醒并且為客戶提供服務(wù),對客戶的請求做出適當(dāng)?shù)姆磻?yīng)。雖然基于連接的服務(wù)是設(shè)計客戶 /服務(wù)器應(yīng)用程序的標(biāo)準(zhǔn),但有些服務(wù)也是可以通過數(shù) 據(jù)報Socket 提供的。 通常,網(wǎng)絡(luò)應(yīng)用程序包含兩個獨(dú)立的應(yīng)用程序:客戶程序和服務(wù)器程序。但是,也可以設(shè)計同時完成這兩種功能的程序,例如,一些服務(wù)器程序如果不能完成一個服務(wù)請求時,它將轉(zhuǎn)而充當(dāng)客戶程序,向其它服務(wù)器程序請求信息。這方面的一個典型例子就是提供 Inter 從域名到 IP 地址映射服務(wù)的 DNS 服務(wù)器。 為了充分理解 TCP/IP 協(xié)議族,必須理解幾個重要術(shù)語。這些術(shù)語指出了兩個 TCP/IP傳輸協(xié)議:用戶數(shù)據(jù)包協(xié)議( UDP)和傳輸控制協(xié)議( TCP)之間的區(qū)別。這些術(shù)語進(jìn)一步描述了與網(wǎng)絡(luò)連接、協(xié)議可靠性以 及數(shù)據(jù)服務(wù)有關(guān)的協(xié)議特性。 當(dāng)建立服務(wù)器程序時,應(yīng)該將服務(wù)器程序設(shè)計成等候客戶的請求。 你知道, TCP 傳輸層通過協(xié)議端口和應(yīng)用程序(像服務(wù)器和客戶)通信,也就是說,為了 接 收客戶請求,服務(wù)器程序必須對傳輸層的一個特定協(xié)議端口進(jìn)行偵聽。 當(dāng)服務(wù)器配置 socket 接口時,它使用 bind()函數(shù)讓 Socket 執(zhí)行體登記一個協(xié)議端口。也就是說,程序告訴 Socket 執(zhí)行體使用哪一個協(xié)議端口進(jìn)行數(shù)據(jù)傳送。 Socket 執(zhí)行體接著告訴傳輸層某個特定協(xié)議端口已被使用,并將其收到的所有數(shù)據(jù)傳送給 Socket API。 使用無連接協(xié)議 的程序和使用面向連接協(xié)議的服務(wù)器程序之間的主要相似之處是它們都必須對一個協(xié)議端口進(jìn)行偵聽。例如,無連接和連接服務(wù)器程序必須在協(xié)議端口偵聽客戶請求。同樣,由于無連接客戶程序沒有和遠(yuǎn)地主機(jī)建立直接連接,所以它也必須對協(xié)議端口進(jìn)行偵聽,以便接收以對它服務(wù)請求產(chǎn)生的數(shù)據(jù)報應(yīng)答。 Socket API 中的bind()函數(shù)讓程序?qū)⒁粋€本地地址(包括主機(jī)地址和協(xié)議端口)和一個 Socket 聯(lián)系起來。 下面程序行顯示了一個典型的函數(shù)調(diào)用: result= bind ( socket_handle, local_structure, socket_address, address_ length) 無連接客戶程序也對一個協(xié)議端口進(jìn)行偵聽。使用無連接協(xié)議的程序不和遠(yuǎn)地主機(jī)建立直接連接。無連接客戶程序使用數(shù)據(jù)報發(fā)送網(wǎng)絡(luò)服務(wù)請求,它不建立點(diǎn)到點(diǎn)連接。因此無連接客戶程序必須在一個協(xié)議端口,對應(yīng)答數(shù)據(jù)報進(jìn)行偵聽。與服務(wù)器程序一樣,無連接客戶程序也使用 bind()函數(shù)讓 Socket 執(zhí)行體登記協(xié)議端口。也就是說,類似服務(wù)器程序,無連接客戶程序告訴 Socket 執(zhí)行體使用哪個協(xié)議端口進(jìn)行數(shù)據(jù)傳輸。 Socket執(zhí)行體處理傳輸層內(nèi) UDP 軟件模塊和客戶程序 之間的接口 [9]。 長沙學(xué)院 畢業(yè)設(shè)計 (論文 ) 8 第 4 章 需求分析及開發(fā)方法 需求分析 一個 即時通訊 軟件應(yīng)提供基于 TCP/IP 網(wǎng)絡(luò)的即時消息傳送、消息廣播、實(shí)時聊天等功能。列舉如下: ( 1) 支持多賬號。 ( 2) 可以同時發(fā)送同一個消息 給 一個人,通過輸入對方信息 。 ( 3) 可以同時發(fā)送一個消息給所有 人 。 ( 4) 即使用戶不在線,也能通過服務(wù)器發(fā)送離線消息。 ( 5) 提供消息、聊天的歷史記錄,方便對信息的查看和管理。 ( 6) 提供查看在線的人的功能。 ( 7) 用戶 上線通知。 ( 8) 用戶 下線更新 ( 9) 有權(quán)限的人可以發(fā)系統(tǒng)廣播 通知 ( 10) 查看 用戶 信息 ( 11) 更改個人信息 ( 12) 開機(jī)啟動設(shè)置 ( 13) 主窗口總是浮在最上端 ( 14) 速度快,占用資源少 系統(tǒng)功能模塊 根據(jù)上述 的 需求分析,并針對個人所掌握的知識和自己畢業(yè)設(shè)計時間的限制,要做到面面 俱 到是不可能的 ,并 考慮到作為局域網(wǎng)(校園網(wǎng))聊天工具,終端用戶數(shù)量較少,我設(shè)計的通訊 軟件借鑒了 、聊天室等 即時 聊天工具,聊天信息采用服務(wù)器轉(zhuǎn) 發(fā)方式,只要當(dāng)前在線的用戶都可以接收到,當(dāng)然,也實(shí)現(xiàn)了兩人之間 私聊 的 功能。 包括服務(wù)器程序和客戶端程序,服務(wù)器包括聊天信息即時轉(zhuǎn)發(fā) 、系統(tǒng)日志記錄、 發(fā)送通知 、以及數(shù)據(jù)庫的備份、還原、 初始化??蛻舳司哂械顷懀裕薷膫€人信息,聊天等功能。 系統(tǒng)功 能需求圖 這個即時通訊軟件系統(tǒng)包括服務(wù)器端和客戶端,服務(wù)器端有聊天記錄、系統(tǒng)設(shè)置、發(fā)布通告、數(shù)據(jù)庫備份還原初始化、 置頂 的功能,客戶端要求有登陸、注冊、聊天和修改 查看 個人信息的功能,系統(tǒng)功能的需求圖如下: 長沙學(xué)院 畢業(yè)設(shè)計 (論文 ) 9 圖 系統(tǒng)功能需求圖 開發(fā)方法介紹 目前比較成熟的信息系統(tǒng)開發(fā)方法有:生命周期法、原型法、面向?qū)ο蠓ǖ取? 生命周期法: 把一個信息系統(tǒng)從其提出、分析、設(shè)計和使用,直到停止使用的整個生存期視為一個生命周期。整個生命周期劃分為五個主要工作階段:可行性分析階段、系統(tǒng)分析階段、系統(tǒng)設(shè)計階段、系統(tǒng)實(shí) 施階段和系統(tǒng)運(yùn)行、維護(hù)與評價階段。通常采用結(jié)構(gòu)化系統(tǒng)分析和系統(tǒng)設(shè)計方法,自上而下分析、設(shè)計、強(qiáng)調(diào)開發(fā)過程的整體性和全局性;開發(fā)過程在時間上基本按階段進(jìn)行,任務(wù)明確;結(jié)合用戶需求進(jìn)行開發(fā);開發(fā)周期長,維護(hù)不方便。適用于開發(fā)需求較明確固定的信息系統(tǒng)。 原型法: 是系統(tǒng)開發(fā)者在初步了解用戶需求的基礎(chǔ)上,開發(fā)出能實(shí)現(xiàn)系統(tǒng) 基本功能的一個原型,再根據(jù)用戶對原型使用與評價的意見,提出修改方案,修改完善原型,如此反復(fù)多次,直到得到用戶滿意的最終系統(tǒng)為止。 開發(fā)過程以用戶為中心,開發(fā)周期短。適用于開發(fā)需求不夠明確或不斷變化的軟件 。 面向?qū)ο蠓ǎ?以類,類的繼承,聚集等概念描述客觀事物以及聯(lián)系。為管理信息系統(tǒng)的開發(fā)提供了全新的思路,面向?qū)ο蠓椒ㄒ詫ο鬄橹行?。其特征主要有模塊性,繼承性和類比性,動態(tài)連接性。 其中原型 法是近幾年發(fā)展起來的一種開發(fā)方法,該方法從一個初始信息要求的集合出發(fā),在發(fā)展中逐步完善信息系統(tǒng)。本 即時通訊 軟件采用的是原型法。 使用原型法開發(fā)大體有以下幾個步驟: ( 1) 確定系統(tǒng)需求。其中包括系統(tǒng)的應(yīng)用范圍、系統(tǒng)開發(fā)的經(jīng)費(fèi)估算等。 ( 2) 設(shè)計初始原型。包括確定需求和開發(fā)工作模型,例如屏幕格式、功能菜單、報表格式以及對關(guān)鍵數(shù)據(jù)和功能的說明 等。 長沙學(xué)院 畢業(yè)設(shè)計 (論文 ) 10 ( 3) 對初始原型進(jìn)行需求迭代,不斷進(jìn)行修正或改進(jìn),直至得到一個用戶滿意的原型,從而終止原型迭代過程。 ( 4) 如果需要,可寫出系統(tǒng)必要成分的嚴(yán)格、詳細(xì)的說明。 ( 5) 原型效果考察。考察用戶新加入的需求信息和組成成分的嚴(yán)格說明信息,看其對原型效果的影響,是否影響到原型的有效性,如果導(dǎo)致原型失敗,應(yīng)加以修正和改進(jìn)。 原型法的生命周期提供了一種完整的、靈活的、近于動態(tài)的需求定義技術(shù)。它綜合了所有提出的必要需求,建立原型就近似于預(yù)先需求的規(guī)格說明。對應(yīng)于原型的工作模型可以進(jìn)行必要的剪裁和組織,以便更接近目標(biāo)系統(tǒng)。它可以綜合用戶、 領(lǐng)導(dǎo)和原型開發(fā)人員的各方需求 [10]。 圖 原型法工作流程圖 長沙學(xué)院 畢業(yè)設(shè)計 (論文 ) 11 第 5 章 總體設(shè)計 設(shè)計思想 服務(wù)器端和客戶端需要分別設(shè)計, 除了主聊天界面外,還加上了登錄界面,以便 管理 。 作為 即時通訊軟件系統(tǒng),客戶端信息全部來自于服務(wù)器,服務(wù)器端 能實(shí)時掌握所有客戶登錄、退出、對話情況,并能實(shí)時轉(zhuǎn)發(fā)、廣播給相應(yīng)客戶。 由于服務(wù)器要和多個客戶聯(lián)系,所以在設(shè)計中采用了 Winsock 控件數(shù)組的形式,其中下標(biāo)為 0 的元素作為監(jiān)聽控件,當(dāng)有客戶登錄、退出或者相互間發(fā)送消息時,能正確接收并作相應(yīng)處理,其余控件數(shù)組元素當(dāng)有 客戶連接時自動裝入。客戶端只需一個 Winsock 控件,應(yīng)具有隨時連接、斷開服務(wù)器的功能,也應(yīng)具有對接收到的信息做出正確分析、處理的能力。 在整個系統(tǒng)設(shè)計過程中,對客戶端和服務(wù)器端 的 消息到達(dá)這一事件的設(shè)計和編碼是系統(tǒng)的關(guān)鍵。 關(guān)鍵通信技術(shù)- Winsock 本系統(tǒng)的開發(fā) 平臺 是 VB ,采用了面向網(wǎng)絡(luò)連接的 Winsock 控件。 Winsock 是不可見控件 ,控件文件名是 ,全稱為 Microsoft Winsock Cont
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1