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

正文內(nèi)容

linux平臺下的聊天軟件的設(shè)計與開發(fā)畢業(yè)設(shè)計-在線瀏覽

2025-07-30 13:00本頁面
  

【正文】 天,在 Inter 上,有 ICQ、 MSN、 Gtalk、 OICQ 等網(wǎng)絡(luò)聊天軟件, 極大程度上方便了處于在世界各地的友人之間的相互聯(lián)系,也使世界 好像 一下子縮小了,不管你在哪里,只要你上了網(wǎng),打開這些軟件,就可以給你的朋友發(fā) 送 信息,不管對方是否也同時在線,只要知道他有號碼。 但對很多習(xí)慣于 Windows 操作系統(tǒng)的人來 說, Linux 的操作不夠人性化、交互界面不夠美觀,這給 Linux 操作系統(tǒng)的普及帶來了很大的阻礙。 網(wǎng)絡(luò)聊天軟件的 發(fā)展及 現(xiàn)狀 網(wǎng)絡(luò)的誕生從某種意義上來說改變了我們的生活,它將這個世界的上不同地域的人之間的距離拉近了。最初的網(wǎng)絡(luò)聊天軟件只是有簡單的文本界面,功能也十分有限,隨著技術(shù)的不斷發(fā)展與強大,擁有更多功能和美觀界面的聊天程序走進了我們的生活,也有越來越多的人將網(wǎng)絡(luò)聊天軟件作為他們?nèi)粘I罱涣骱屯ㄐ诺墓ぞ摺? 現(xiàn)在也有很多 在網(wǎng)絡(luò)上不使用服務(wù)器的通訊軟件,這種軟件小巧且方便,也能解決一部分問題??梢员4嬗脩舻膫€人信息或 個人簡介 ,供人查看。 所以 , 帶服務(wù)器的聊天 軟件在網(wǎng)絡(luò)上, 有著非常廣泛的用途 ,為網(wǎng)絡(luò)上的通訊 帶來 了 極大的方便 ,它使人與人 之間 的交流不再只局限于某一個范圍 ,并且它的開銷也是很小的,你只需要擁有一部可以聯(lián)網(wǎng)的 PC 機就足夠了! 第 2 頁 共 26 頁 TCP/IP協(xié)議 簡介 TCP/IP 是國際互聯(lián)網(wǎng)所采用進行網(wǎng)際互連的通信協(xié) 議。 TCP 協(xié)議 簡介 因為我們這個程序所采用的是面向連接的 TCP 協(xié)議,所以我們這里就只對TCP(傳輸控制協(xié)議)這一部分作詳細的介紹。與 IP 協(xié)議相結(jié)合, TCP 代表了網(wǎng)絡(luò)協(xié)議的 核心。這一過程是通過使用 TCP 的 “ 端口號 ” 完成的。為了可靠通信, TCP 在端點間建立了連接或虛擬電路。 關(guān)于數(shù)據(jù)流傳輸, TCP 發(fā)送一個由序列號定義的無結(jié)構(gòu)的字節(jié)流。 TCP 是面向連接的端到端的可靠協(xié)議 ,并保證傳送數(shù)據(jù)包的順序,而順序是用一個響應(yīng)序號來保證的,這個響應(yīng)序號告訴接收者發(fā)送者期望的下一個包。 TCP 的可靠機制允許設(shè)備處理丟失、刪除及讀錯的包。 TCP 提供了有效流控制。 全雙工操作: TCP 進程能夠同時發(fā)送和接收包。 UDP 協(xié)議 簡介 UDP 協(xié)議 是英文 User Datagram Protocol 的縮寫,即用戶數(shù)據(jù)報 協(xié)議 ,主要用來支持那些需要在計算機之間傳輸數(shù)據(jù)的網(wǎng)絡(luò)應(yīng)用。 UDP 協(xié)議 從問世至今已經(jīng)被使用了很多年,雖然其最初的光彩已經(jīng)被一些類似 協(xié)議 所掩蓋,但是即使是在今天, UDP 仍然不失為一項非常實用和可行的網(wǎng)絡(luò)傳輸層 協(xié)議 。根據(jù) OSI(開放系統(tǒng)互連)參考模型, UDP 和 TCP 都屬于傳輸層 協(xié)議 。一個典型的數(shù)據(jù)報就是一個二進制數(shù)據(jù)的傳輸單位。 既然 UDP 是一種不可靠的網(wǎng)絡(luò) 協(xié)議 ,那么還有什么使用價值或必要呢?其實不然,在有些情況下 UDP 協(xié)議 可能會變得非常有用。雖然 TCP 協(xié)議 中植入了各種 安全 保障功能,但是在實際執(zhí)行的過程中會占用大量的系統(tǒng)開銷,無疑使速度受到嚴(yán)重的影響。 套接字簡介 應(yīng)用層通過傳輸層進行數(shù)據(jù)通信時, TCP和 UDP 會遇到同時為多個應(yīng)用程序進程提供并發(fā)服務(wù)的問題。為了區(qū)別不同的應(yīng)用程序進程和連接,許多計算機操作系統(tǒng)為應(yīng)用程 序與 TCP/ IP協(xié)議交互提供了稱為套接字 (Socket)的接口。通過將這 3個參數(shù)結(jié)合起來,與一個 Socket 綁定,應(yīng)用層就可以和傳輸層通過套接字接口,區(qū)分來自不同應(yīng)用程序進程或網(wǎng)絡(luò)連接的通信,實現(xiàn)數(shù)據(jù)傳輸?shù)牟l(fā)服務(wù) 開發(fā)平臺簡介 Linux 系統(tǒng)簡介 Linux 操作系統(tǒng)是 UNIX 操作系統(tǒng)的一種克隆系統(tǒng)。 以后借助于 Inter 網(wǎng)絡(luò),并經(jīng)過全世界各地計算機愛好者的共同努力下,現(xiàn)已成為今天世界上使用最多的一種UNIX 類操作系統(tǒng),并且使用人數(shù)還在迅猛增長。旨在開發(fā)一個類似 Unix、并且是自由軟件的完整操作系統(tǒng): GNU 系統(tǒng)。 第 4 頁 共 26 頁 Gtk+圖形開發(fā)庫 簡介 Gtk+(GIMP Toolkit, GIMP工具包 )是一個用于創(chuàng)造圖形用戶接口的圖形庫。 Gtk+圖形庫使用一系列稱為“構(gòu)件”的對象來創(chuàng)建應(yīng)用程序的圖形用戶接口??梢杂盟鼈儊順?gòu)造非常豐富的用戶界面。一般把這些構(gòu)件稱為 Gnome 構(gòu)件 (與 Gtk+構(gòu)件相對應(yīng) )。從本質(zhì)上來說, Gtk+構(gòu)件和 Gnome 構(gòu)件是完全類似的東西。雖然完全是用 C寫成的,但它仍然是用類和回調(diào)函數(shù) (指向函數(shù)的指針 )的方法實現(xiàn)的。Gnome 的一些新特性,如 popt 參數(shù)分析,保存應(yīng)用程序設(shè)置等也是 Gtk+構(gòu)件所沒有的。 Glade 集成開發(fā)工具 簡介 Glade 是面向 GTK+/Gtkmm 的圖形界面開發(fā)工具。 Glade 提供了一個類庫,在程序運行的時候,它可以通過讀取 XML 文件而生成相應(yīng)的程序界面,從而達到了程序代碼邏輯與用戶界面的完全分離。對于比較小型的項目,這種方法是比較適用的。也許這是以后桌面應(yīng)用程序開發(fā)的一個方向。 C語言也更易移植,因而,在 Linux 下編程的最佳語言應(yīng)該是 C語言, Linux上的很多應(yīng)用程序就是用 C 語言寫的。 Linux 發(fā)布版本中都提供了 C編譯器 gcc,它目前的版本是 。 gcc 是可以在多種硬體平臺上編譯出可執(zhí)行程序的超級編譯器,其執(zhí)行效率與一般的編譯器相比平均效率要高20%~30% gcc 編譯器能將 C、 C++語言源程序、匯程式化序和目標(biāo)程序編譯、連接成可執(zhí)行文件,如果沒有給出可執(zhí)行文件的名字, gcc 將生成一個名為 的文件。 GDB 主要能做四件事 (包括為了完成這些事而附加的功能 ),幫助 用戶 找出程序中的錯誤。 保證程序在指定的條件下停止 。 改變程序。 用戶 可以用 GDB 來調(diào)試 C和 C++寫的程序。 所以,開發(fā)一個網(wǎng)絡(luò)里的 C/S 通訊軟件 是十分必要 的 。 2 軟件需求分析 為了開發(fā)出符合要求的 網(wǎng)絡(luò)聊天程序 ,首先必須知道使用者的需求。 軟件功能需求 登錄功能。 客戶可以通過服務(wù)器轉(zhuǎn)發(fā),實現(xiàn)一對一 的 聊天 。 客戶端程序可以 顯示在線好友。 總體性能需求 服務(wù)器端性能需求 服務(wù)器 需要 同時連接很多個用戶,并能提供給這些連接用戶所需要的任務(wù)處理請求,這就要求服務(wù)器能同時處理多個 socket 連接。 因此我們將采用多線程方式的并發(fā)服務(wù)器來設(shè)計服務(wù)器端,這樣將能從很大程度上提高服務(wù)器的運行效率。 當(dāng)一個窗體出現(xiàn)問題時能夠及時的處理,讓主程序不受影響。 當(dāng) 有 錯誤發(fā)生時,我們應(yīng)該有一個很好的機制來保障錯誤能夠及時地被排除。 本章小結(jié) 需求是開發(fā)的前提,只有明確了需求才能開發(fā)出一個符合用戶期望的優(yōu) 質(zhì)軟件。 3 程 序 設(shè)計 方案 方案比較 采用 TCP 方式連接 TCP 方式連接的一個顯著特點就是需要有服務(wù)器,這種類型的程序通常被稱為客戶機 /服務(wù)器模式。 客戶及 /服務(wù)器模型將網(wǎng)絡(luò)應(yīng)用程序分為客戶和服務(wù)器兩部分。 在 TCP/IP 網(wǎng)絡(luò)應(yīng)用中,多數(shù)網(wǎng)絡(luò)應(yīng)用程序是使用客戶 /服務(wù)器模型設(shè)計的。此時,服務(wù)程序被 驚醒 并且為客戶提供服務(wù),對客戶的請求做出適當(dāng)?shù)姆磻?yīng)。 當(dāng)建立服務(wù)器程序時,應(yīng)該將服務(wù)器程序設(shè)計成等候客戶的請求。當(dāng)服務(wù)器配置 socket 接口時,它使用 bind()函數(shù)讓 socket 執(zhí)行體登記一個協(xié)議端口。 Socket 執(zhí)行體接著告訴傳輸層某個特定協(xié)議端口已被使用,并將其收到的所有數(shù)據(jù)傳送給 Socket API。 使用無連接協(xié)議的程序和使用面向連接協(xié)議的服務(wù)器程序之間的主要相似之處是 它們都必須對一個協(xié)議端口進行偵聽。同樣,由于無連接客戶程序沒有和遠地主機建立直接連接,所以它也必須對協(xié)議端口進行偵聽,以便接收以對它服務(wù)請求產(chǎn)生的數(shù)據(jù)報應(yīng)答。 下面程序行顯示了一個典型的函數(shù)調(diào)用: result = bind ( socket_handle, local_structure socket_address, address_ length) 無連接客戶程序也對一個協(xié)議端口進行偵聽。無連接客戶程序使用數(shù)據(jù)報發(fā)送網(wǎng)絡(luò)服務(wù)請求,它不建立點到點連接。與服務(wù)器程序一樣,無連接客戶程序也使用 bind 函數(shù)讓 Socket 執(zhí)行體登記協(xié)議端口。 Socket 執(zhí)行體處理傳輸層內(nèi) UDP 軟件模塊和客戶程序之間的接口。采用 C/S結(jié)構(gòu)。 總體 設(shè)計 方案 為實現(xiàn)網(wǎng)絡(luò)聊天的功能, 該軟件 采用 Socket 編程,服務(wù)器與客戶端采用了TCP/IP 方式連接 ,在設(shè)計聊天方案時,實行將所有信息發(fā)往服務(wù)器端,再由服務(wù)器進行分別處理的思路,服務(wù)器端是所有信息的中心。 接受來自客戶端的各種信息并分別處理。就將在線用戶發(fā)給該用戶,并將該用戶的狀態(tài)發(fā)給各在線用戶。 處理 聊天信息 模塊 : 轉(zhuǎn)發(fā)消息給指定的用戶。 發(fā)布系統(tǒng)消息模塊:將 用戶 上 下線 的 消息發(fā)給各客戶端,并改寫用戶在服務(wù)器端 和客戶端 的狀態(tài)。 因此,針對這些操作特性,將客戶端模塊進行如下劃分: 登陸功能 模塊 :建立與服務(wù)器的連接并登陸,能顯示登陸錯誤信息。 聊天功能 模塊 : 處理各種聊天信息,并判斷消息類型 。 配置信息 模塊 :提供基本的軟件配置操作。 unsigned int length。 char r
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1