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

正文內(nèi)容

畢業(yè)設(shè)計(jì)論文-linux平臺(tái)下的聊天軟件的設(shè)計(jì)與開發(fā)-文庫吧在線文庫

2025-01-16 17:55上一頁面

下一頁面
  

【正文】 會(huì)暗示最高序列號(hào),它能接收并保證不會(huì)發(fā)生溢出。 UDP 協(xié)議 的主要作用是將網(wǎng)絡(luò)數(shù)據(jù)流量壓縮成數(shù)據(jù)報(bào)的形式。多個(gè) TCP連接或多個(gè)應(yīng)用程序進(jìn)程可能需要通過同一第 5 頁 共 27 頁 個(gè) TCP 協(xié)議端口傳輸數(shù)據(jù)。 在 Linux 平臺(tái)上運(yùn)行的軟件都是免費(fèi)使用的,且你可以隨意的改動(dòng)代碼部分,只要他們是完全基于 GNU 的。這些構(gòu)件都是 Gtk+構(gòu)件庫的補(bǔ)充,它們提供了許多 Gtk+構(gòu)件沒有的功能。它向用戶提供可視化的界面設(shè)計(jì)環(huán)境,并以 XML 文件的格式進(jìn)行保存。因?yàn)?Gtk+ 和 Gnome 是用 C語言編寫的,所以在開發(fā) Linux 下的 GUI 程序時(shí)使用 C 語言是非常方便的。 第 7 頁 共 27 頁 當(dāng)程序停止時(shí),讓 用戶 檢查發(fā)生了什么 。在 TCP/IP 網(wǎng)絡(luò)應(yīng)用中,多數(shù)網(wǎng)絡(luò)應(yīng)用程序是使用客戶 /服務(wù)器模型設(shè)計(jì)的。 Socket 執(zhí)行體接著告訴傳輸層某個(gè)特定協(xié)議端口已被使用,并將其收到的所有數(shù)據(jù)傳送給 Socket API。無連接客戶程序使用數(shù)據(jù)報(bào)發(fā)送網(wǎng)絡(luò)服務(wù)請(qǐng)求,它不建立點(diǎn)到點(diǎn)連接。 本章小結(jié) 通過以上的各種分析和結(jié)論,確定了軟件的開發(fā)語言和開發(fā)環(huán)境,這為以后的工作打下了堅(jiān)實(shí)的基礎(chǔ)。同時(shí)在服務(wù)器端顯示出來。 離線消息 模塊 : 接收和發(fā)送離線消息,對(duì)離線消息進(jìn)行處理 。 用戶信息結(jié)構(gòu): typedef struct _users_t { char loginid[20]。 用戶當(dāng)前狀態(tài): typedef struct _user_status_t { char loginid[20]。 用戶發(fā)送離線消息結(jié)構(gòu): typedef struct _offline_msgs_send_t { char sender[20]。當(dāng)用戶點(diǎn)擊在線好友時(shí)便會(huì)彈出一個(gè)聊天信息窗體,該窗體用于發(fā)送和接收用戶的聊天信息。 獲取系統(tǒng)時(shí)間函數(shù): char *gif_get_system_time() 該函數(shù)取出當(dāng)前系統(tǒng)時(shí)間并隨消息一同發(fā)出,以便讓用戶能更好的了解到消息是何時(shí)發(fā)出的。 離線消息處理模塊: 當(dāng)服務(wù)器判斷用戶所請(qǐng)求的信息為讀取離線消息后,服務(wù)器會(huì)去讀用戶的離線消息文件,如果該文件中有被標(biāo)識(shí)為新的離線消息時(shí),服務(wù)器將把該消息提取出來發(fā)送給用戶,同時(shí)把該消息標(biāo)識(shí)為已讀。 被添加為好友文件: 該文件中保存了有哪些用戶把當(dāng)前用戶添加為好友。 圖 410 系統(tǒng)消息窗口 離線消息窗口: 當(dāng)用戶點(diǎn)擊主窗口中的 Offline 按鈕時(shí),該窗體被激活。 GtkTreeModel *offline_selected_model: 定義離線消息查詢數(shù)據(jù)管理接口 。 void gif_call_client_for_chat(GtkTreeSelection *selection, gpointer data): 當(dāng)用 戶點(diǎn)擊聯(lián)系人時(shí) 會(huì) 產(chǎn)生 一個(gè) 消息事件, 程序 根據(jù)用戶所選擇的聯(lián)系人 生成聊天窗口,并對(duì)該窗體進(jìn)行初始化。 同時(shí)將用戶名寫入消息頭結(jié)構(gòu)體,并將密碼隨同數(shù)據(jù)字段一起發(fā)送給服務(wù)器。 但這個(gè)視圖中并沒有定義列信息,業(yè)就是說這是一個(gè)空的無任何用處的列表視圖,要將用戶的信息顯示出來,還需要使用到以下的函數(shù): 新建一個(gè)圖像類型的繪制方式 renderer = gtk_cell_renderer_pixbuf_new ()。 消息處理模塊: 當(dāng)客戶端和服務(wù)器建立連接后,客戶端會(huì)創(chuàng)建一個(gè)專門的線程來維護(hù)客戶端和服務(wù)器之間的連接,該線程調(diào)用函數(shù)根據(jù)從服務(wù)器接收到的消息類型來選擇消息處理模塊。 本章小結(jié) 本章是全文的重點(diǎn),從軟件的總體結(jié)構(gòu)到具體的流程再到詳細(xì)的分析和設(shè)計(jì)實(shí)現(xiàn), 都為軟件的設(shè)計(jì)奠定了堅(jiān)實(shí)的一步。當(dāng)在開發(fā)過程中遇到問題時(shí), 分析并解決問題, 在這一過程中能夠逐步的充實(shí)自己,這是在做畢業(yè)設(shè)計(jì) 的過程中讓我得到的最大收益。 第 26 頁 共 27 頁 致 謝 本論文的工作是 2021年 2月至 2021年 6月在成都信息工程學(xué)院 網(wǎng)絡(luò)工程 系完成的。 ( 5)學(xué)??梢怨紝W(xué)位論文的全部或部分內(nèi)容(保密學(xué)位論文在解密后遵守此規(guī)定)。在此向他 們 表示我最衷心的感謝! 在論文完成過程中,本人還得到了 本系 老師和同學(xué)的熱心幫助,本人向他們表示深深的謝意! 最后向在百忙之中評(píng)審本文的各位專家、老師表示衷心的感謝! 作者簡(jiǎn)介: 姓 名: 張曉韜 性別: 男 出生年月: 1983 年 11 民族: 漢族 Email: 第 27 頁 共 27 頁 聲 明 關(guān)于學(xué)位論文使用權(quán)和研究成果知識(shí)產(chǎn)權(quán)的說明: 本人完全了解成都信息工程學(xué)院有關(guān)保管使用學(xué)位論文的規(guī)定,其中包括: ( 1)學(xué)校有權(quán)保管并向有關(guān)部門遞交學(xué)位論文的原件與復(fù)印件。 [4] Stevens[美 ].UNIX環(huán)境高級(jí)編程第二版 [M].北京: 人民郵電出版社 , 2021。服務(wù)器經(jīng)過多平臺(tái)的測(cè)試后,能夠穩(wěn)定的運(yùn)行。同時(shí)設(shè)置用戶和聯(lián)系人的顯示顏色,以便區(qū)分聊天消息的來源。 以上所創(chuàng)建的視圖和存儲(chǔ)空間都還是空的,要想將數(shù)據(jù)從其中顯示出來還需要使用到下面的函數(shù): 下面的函數(shù)負(fù)責(zé)從指定的存儲(chǔ)模型中取出新行的 iter gtk_tree_store_append (store, amp。 第 23 頁 共 27 頁 用戶列表 和離線消息列表 的構(gòu)建是通過 下面的 函數(shù)來實(shí)現(xiàn)的: 新建一個(gè)數(shù)據(jù)的存儲(chǔ) 模型 store= gtk_tree_store_new (2, G_TYPE_STRING, GDK_TYPE_PIXBUF)。 gdk_threads_leave()。 enum 第 22 頁 共 27 頁 { OFFLINE_NEW_PIXMAP, OFFLINE_SENDER_TEXT, OFFLINE_DATESERIAL_TEXT, OFFLINE_MSG_TEXT, OFFLINE_COLUMNS }。 上面的窗體是客戶端用戶在使用中會(huì)經(jīng)常使用到的一些窗口事件,這些部件統(tǒng)一起來便形成了一套完整的客戶端圖形用戶界面。 圖 47 程序主窗口 窗體中包含按鈕: Conn:登陸按鈕,點(diǎn)擊可激活登錄窗口 第 19 頁 共 27 頁 Add: 添加好友按鈕 Conf:程序配置按鈕 Offline:查看離線消息按鈕 Conn 菜單:包含 Conn、 Disconnect 和 Quit 按鈕 Contacts 菜單:包含 Add、 Delete 和 Offline 按鈕 Help 菜單:包含 About 按鈕 聯(lián)系人列表: Status 列:顯示聯(lián)系人狀態(tài)信 Contacts 列:顯示好友列表 Available 顯示表示用戶有好友 當(dāng)用戶無好友時(shí)顯示 Not Available 登錄窗口: 當(dāng)用戶點(diǎn)擊主窗口中的 Conn 按鈕時(shí),該窗體被激活。 在編程時(shí)主要使用 fopen fread fwrite fclose 等函數(shù)對(duì)文件進(jìn)行操作,被打開文件的操作權(quán)限由 fopen 的參數(shù)來決定,讀取控制由 fread 來完成, fwrite主要負(fù)責(zé)向文件 中 寫入新的信息。 刪除好友信息處理模塊: 當(dāng)服務(wù)器接收到用戶的該消息請(qǐng)求時(shí),服務(wù)器根據(jù)用戶所提供的好友用戶名來刪除被指定的好友,同時(shí)將用戶聯(lián)系人表進(jìn)行更新,在被刪除的好友的被添加好友表 中將當(dāng)前用戶刪除。 服務(wù)器主要函數(shù) 和變量 套接字 描述字 : int sockfd, client_sockfd 套接字 地址結(jié)構(gòu): struct sockaddr_in servAddr, cliAddr 線程 id標(biāo)識(shí): pthread_t pthd 線程調(diào)用函數(shù): void gif_handle_client(int client_sockfd) 服務(wù)器主體函數(shù)只負(fù)責(zé)了套接字的創(chuàng)建、幫定和監(jiān)聽任務(wù),一旦服務(wù)器接收到了來自客戶端的消息后,就會(huì)創(chuàng)建一個(gè)線程來處理該連接,當(dāng)線程創(chuàng)建后它就會(huì)調(diào)用該函數(shù)對(duì)客戶消息進(jìn)行處理。 }offline_msgs_send_t。 char dateserial[20]。 int sockfd。 char sender[10]。 服務(wù)器 功能 示意圖: 圖 41 服務(wù)器功能模型 客戶端 功能 模塊劃分 客戶端主要負(fù)責(zé)處理用戶的操作信息,當(dāng)用戶做出相應(yīng)的動(dòng)作時(shí)客戶端應(yīng)該能夠及時(shí)地做出相應(yīng),當(dāng) GTK 圖形程序檢測(cè)到鼠標(biāo)點(diǎn)擊時(shí),將觸發(fā)一個(gè)事件,對(duì)該事件進(jìn)行動(dòng)作的定義和函數(shù)的編寫便可完成相應(yīng)的動(dòng)作。 服務(wù)器功能模塊劃分 服務(wù)器負(fù)責(zé) 向各個(gè)客戶端發(fā)布系統(tǒng)消息。 Socket 執(zhí)行體處理傳輸層內(nèi) UDP 軟件模塊和客戶程序之間的接口。同樣,由于無連接客戶程序沒有和遠(yuǎn)地主機(jī)建立直接連接,所以它也必須對(duì)協(xié)議端口進(jìn)行偵聽,以便接收以對(duì)它服務(wù)請(qǐng)求產(chǎn)生的數(shù)據(jù)報(bào)應(yīng)答。 當(dāng)建立服務(wù)器程序時(shí),應(yīng)該將 服務(wù)器程序設(shè)計(jì)成等候客戶的請(qǐng)求。 方案比較 采用 TCP 方式連接 TCP 方式連接的一個(gè)顯著特點(diǎn)就是需要有服務(wù)器,這種類型的程序通常被稱為客戶機(jī) /服務(wù)器模式。 調(diào)試器 GDB 能讓你觀察另一個(gè)程序在執(zhí)行時(shí)的內(nèi)部活動(dòng),或程序出錯(cuò)時(shí)發(fā)生了什么。 這種通過 XML 對(duì)界面進(jìn)行描述的特性極大地增強(qiáng)了程序的靈活性,界面的設(shè)計(jì)與代碼的編寫可由相關(guān)的人員進(jìn)行。 Gnome 的開發(fā)結(jié)構(gòu)簡(jiǎn)介 只使用 Gtk+ 構(gòu)件也可以開發(fā)出優(yōu)秀的 Linux 應(yīng)用程序,但是 Gnome 構(gòu)件,特別是 GnomeApp、 GnomeUIInfo 等,使開發(fā)界面一致的應(yīng)用程序變得更加容易。它提供了窗口、標(biāo)簽、命令按鈕、開關(guān)按鈕 、檢查按鈕、無線按鈕、框架、列表框、組合框、樹、列表視圖、筆記本、狀態(tài)條等構(gòu)件。它誕生于 1991 年的 10 月 5 日(這是第一次正式向外公布的時(shí)間)。因?yàn)?UDP 具有 TCP 所望塵莫及的速度優(yōu)勢(shì)。包括網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)在內(nèi)的眾多的客戶 /服務(wù)器模式的網(wǎng)絡(luò)應(yīng)用都需要使用 UDP 協(xié)議 。如果在規(guī)定時(shí)間內(nèi),沒有收到關(guān)于這個(gè)包的確認(rèn)響應(yīng),則需要重新發(fā)送此包。 大多數(shù)網(wǎng)絡(luò)應(yīng)用程序是在相同的機(jī)器上運(yùn)行的,計(jì)算機(jī)上必須能確保目的地的應(yīng)用程序從源地址處獲得數(shù)據(jù)包,及源計(jì)算機(jī)上的應(yīng)用程序的回復(fù)獲得選擇 的路經(jīng)。上面已經(jīng)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1