【正文】
和排序等功能移交給上層應(yīng)用來完成,極大降低了執(zhí)行時間,使速度得到了保證。因為 UDP 具有 TCP 所望塵莫及的速度優(yōu)勢。每一個數(shù)據(jù)報的前 8個字節(jié)用來包含報頭信息,剩余字節(jié)則用來包含具體的傳輸數(shù)據(jù)。 UDP 協(xié)議 的主要作用是將網(wǎng)絡(luò)數(shù)據(jù)流量壓縮成數(shù)據(jù)報的形 式。 與我們所熟知的 TCP(傳輸控制 協(xié)議 ) 協(xié)議 一樣, UDP 協(xié)議 直接位于 IP(網(wǎng)際 協(xié)議 ) 協(xié)議 的頂層。包括網(wǎng)絡(luò)視頻會議系統(tǒng)第 3 頁 共 26 頁 在內(nèi)的眾多的客戶 /服務(wù)器模式的網(wǎng)絡(luò)應(yīng)用都需要使用 UDP 協(xié)議 。 TCP 中的多路技術(shù):大量上層同時會話在單連接時進行多路復(fù)用。當向發(fā)送者返回發(fā)送確認響應(yīng),接收 TCP 進程就會暗示最高序列號,它能接收并保證不會發(fā)生溢出。暫停機制允許設(shè)備監(jiān)測丟失 的 包并請求重發(fā)。如果在規(guī)定時間內(nèi),沒有收到關(guān)于這個包的確認響應(yīng),則需要重新發(fā)送此包。這對應(yīng)用程序有利,因為在被送出 TCP 之 前應(yīng)用程序不需要劃分成塊, TCP 可以將字節(jié)整合成字段 ,然后發(fā)送給 IP。 TCP 服務(wù)提供了數(shù)據(jù)流傳輸、可靠行、有效流控制、全雙工操作和多路復(fù)用技術(shù)等。網(wǎng)絡(luò) IP地址和端口號的連接要達到唯一的標識 ,我們稱之為 “ 套接字 ” 或 “ 端點 ” 。 大多數(shù)網(wǎng)絡(luò)應(yīng)用程序是在相同的機器上運行的,計算機上必須能確保目的地的應(yīng)用程序從源地址處獲得數(shù)據(jù)包,及源計算機上的應(yīng)用程序的回復(fù)獲得選擇 的路經(jīng)。 TCP:傳輸控制協(xié)議( TCP: Transmission Control Protocol) 傳輸控制協(xié)議是一個 TCP/IP 組中能夠?qū)崿F(xiàn)可靠數(shù)據(jù)傳送的傳輸層協(xié)議,并通過順序響應(yīng)能實現(xiàn)對應(yīng)用程序的虛擬連接服務(wù),在必要的時候進行包轉(zhuǎn)發(fā)。實際所稱的 TCP/IP協(xié)議包括了在國際互聯(lián)網(wǎng)絡(luò)應(yīng)用的一組協(xié)議,互聯(lián)網(wǎng)協(xié)議族是此協(xié)議族的另一個名字。而且, 無服務(wù)器的 通訊 軟件 ,是以機器為通訊單元的,而 有服務(wù)器的 聊天軟件是以人為通訊單元 的 。但是有服 務(wù)器的通訊軟件,有著不可比擬的優(yōu)勢:可以發(fā)送離線消息,不管用戶當時是否在線,下次上線時,就可以看到這條消息了。 網(wǎng)絡(luò)聊天軟件在國外 有 ICQ 等,在國內(nèi) 主要有 OICQ、 Ticq 和一些 基于網(wǎng)頁的即時通訊工具,像 Chinaren 網(wǎng)站上的 WebMaster 等等,都做得即美觀,且功能強大, OICQ 現(xiàn)在擁有非常大的用戶群。伴隨著網(wǎng)絡(luò)的誕生,網(wǎng) 絡(luò)聊天軟件也隨之而來。因此制作一個 Linux 操作系統(tǒng)下的擁有人性化界面的實時通訊工具,將給那些剛剛接觸 Linux 操作系統(tǒng)的用戶帶來極大的方便,而且通過設(shè)計這樣的一個應(yīng)用程序還能更好的學(xué)習網(wǎng)絡(luò)編程知識和掌握 Linux 平臺上應(yīng)用程序設(shè)計開發(fā)的過程,將大學(xué)四年所學(xué)知識 綜合 運用,以達到檢驗學(xué)習成果的目的。 Linux 操作系統(tǒng)作為一個開源的操作系統(tǒng)被越來越多的人所應(yīng)用,它的好處在于操作系統(tǒng)源代碼的公開化! 只要是基于 GNU 公約的軟件你都可以任意使用并修改它的源代碼。 錯誤 !未定義書簽。 聲 明 錯誤 !未定義書簽。 參考文獻 錯誤 !未定義書簽。 21 本章小結(jié) 20 客戶端功能模塊的設(shè)計與實現(xiàn) 15 服務(wù)器數(shù)據(jù)存儲的方法 15 服務(wù)器消息處理模塊的設(shè)計與實現(xiàn) 12 客戶端消息發(fā)送和接收流程 11 客戶端操作流程 11 服務(wù)器消息處理流程 10 4 軟件流程 9 消息結(jié)構(gòu)體的設(shè)計 8 消息標識的定義 8 客戶端功能模塊劃分 8 服務(wù)器功能模塊劃分 7 方案選擇 6 采用 TCP方式連接 6 3 程序設(shè)計方案 6 錯誤處理需求 6 客戶端性能需求 5 總體性能需求 5 2 軟件需求分析 4 Glade集成開發(fā)工具簡介 3 開發(fā)平臺簡介 2 套接字簡介 2 TCP協(xié)議簡介 1 TCP/IP協(xié)議簡介 1 網(wǎng)絡(luò)聊天軟件的發(fā)展及現(xiàn)狀 1 課題的背景及意義 Network Programming。 Client/Server Model。 最后總結(jié)了該軟件開發(fā)的不足之處,還有 軟件需要完善的部分 。 程序設(shè)計路線這一章節(jié)對該軟件的各個功能模塊和操作處理流程進行了 詳細的劃分和設(shè)計,并且運用各種圖表清晰的展現(xiàn)了軟件的模塊信息和總體結(jié)構(gòu)。在第三章中詳細的介紹了所選取的開發(fā)環(huán)境,通過了解這些知識將會對該類軟件的開發(fā)流程有一個總體的認識。文章主要分為四個部分, 第一部分主要分析了該類產(chǎn)品的一個發(fā)展過程和開發(fā)此類軟件的背景及意義。 Linux 平臺下 的 聊天軟件的設(shè)計 與開發(fā) 摘 要 如今互聯(lián)網(wǎng)技術(shù)高度 發(fā)達, 網(wǎng)絡(luò)聊天軟件作 為一種開銷低 且 方便快捷的通訊手段,被越來越多的人所使用 。 本文 闡述了如何 使用 GTK+圖形開發(fā)庫和 C 語言編寫一個基于 Linux 平臺運行的聊天軟件 的過程。 在此基礎(chǔ)上,進一步的分析了該類產(chǎn)品的需求情況。 之后,在通過對預(yù)備方案的分析和總結(jié)后, 最終確定設(shè)計路線。軟件的預(yù)期效果在這一章節(jié)中得到了體現(xiàn),完成效果符合前期的需求分析。 關(guān)鍵詞 : Linux 系統(tǒng); C/S 結(jié)構(gòu) ; TCP/IP 協(xié)議;網(wǎng)絡(luò)編程;圖形 用戶 界面 Design and Implementation of Chat Software on the Platform of Linux Operating System Abstract Nowadays the work technology develops very rapidly, the chat program as a cheap and quick means of munication has been adopted by more and more people in the world. This disquisition expounds how to use the GTK+ and C cord a chat program based on the Linux platform, and the paper is divided into four parts. The first part is to deal with the development of this product and the background and significance o f developing of this software. On this basis it goes on to describe the demand for this product. The third part introduces the choice about the circumstance of this development. With such knowledge in hand, we have a general idea of the developing program of this software. And the design idea will be determined through the analysis and summingup of the preparatory design. In the section dealing with the program design, all the function modes and their operation flow of this software give an account of the detailed division and design. In addition, all the charts show the information of the modes and their whole structures. Finally, the paper points out the shortings in the design of the software. And it is hoped that further efforts will be made in the design. Key words: Linux Operating System。 TCP/IP Protocol。 Graphics User Interface 目 錄 論文頁數(shù): 26 頁 1 引言 2 UDP協(xié)議簡介 3 Linux系統(tǒng)簡介 3 Gtk+圖形開發(fā)庫簡介 4 Gnome的開發(fā)結(jié)構(gòu)簡介 4 編程語言和編程工具簡介 5 本章小結(jié) 5 軟件功能需 求 6 服務(wù)器端性能需求 6 本章小結(jié) 6 方案比較 6 采用 UDP方式連接 8 總體設(shè)計方案 13 申請用戶流程 14 5 詳細設(shè)計 15 服務(wù)器主要函數(shù)和變量 16 客戶端主要窗口設(shè)計 17 客戶端主要函數(shù)和變量 結(jié) 論 錯誤 !未定義書簽。 致 謝 錯誤 !未定義書簽。 第 1 頁 共 26 頁 1 引 言 課題的 背景 及意義 在網(wǎng)絡(luò)無所不在的今