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

正文內(nèi)容

linux平臺下的聊天軟件的設(shè)計與開發(fā)—計算機畢業(yè)設(shè)計論文-wenkub.com

2024-08-31 11:23 本頁面
   

【正文】 除非另有科研合同和其他法律文書的制約,本論文的科研成果屬于成都信息工程學(xué)院。(2)學(xué)??梢圆捎糜坝 ⒖s印或其他復(fù)制方式保存學(xué)位論文。在此向他們表示我最衷心的感謝!在論文完成過程中,本人還得到了本系老師和同學(xué)的熱心幫助,本人向他們表示深深的謝意!最后向在百忙之中評審本文的各位專家、老師表示衷心的感謝!作者簡介: 姓 名:張曉韜 性別:男出生年月:1983年11 民族:漢族Email:聲 明本論文的工作是2007年2月至2007年6月在成都信息工程學(xué)院網(wǎng)絡(luò)工程系完成的。[5]:使用GTK+/GNOME庫[M].西安:機械工業(yè)出版社, 2000。參考文獻(xiàn)[1] Stevens[美].TCP/IP詳解 卷1:協(xié)議[M].西安:機械工業(yè)出版社,2000??蛻舳藞D形界面效果良好,使用起來也簡單易用。通過對本章的分析理解將會對整個軟件的設(shè)計模式和編寫流程有一個比較深入的了解。消息請求成功或失敗信息:如果接收到了GIF_SUCCESS_N_ERROR_MSG類型的消息,則程序還會進(jìn)一步的根據(jù)另外一個標(biāo)識符判斷是何種系統(tǒng)消息,并通過系統(tǒng)消息窗口顯示給用戶。該模塊主要處理以下幾種消息類型:更新聯(lián)系人列表信息:當(dāng)判斷接收到的消息為GIF_ADDRLIST_MSG時,程序?qū)β?lián)系人視圖進(jìn)行刷新以便及時的顯示聯(lián)系人的當(dāng)前狀態(tài)。parent_iter, NULL)設(shè)置新添加行的值gtk_tree_store_set (store, amp。給列添加新的屬性,STATUS_COLUMN_PIXMAP指定了行信息,”pixbuf”指定了繪制類型為圖像,renderer指定了繪制方式column = gtk_tree_view_column_new_with_attributes (Status, renderer, pixbuf, STATUS_COLUMN_PIXMAP, NULL)。新建一個管理視圖tree = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store))。如果登陸成功,則創(chuàng)建線程來維護(hù)和服務(wù)器的連接。 客戶端功能模塊的設(shè)計與實現(xiàn)用戶認(rèn)證模塊:主要用到的函數(shù)為:connect(),send(),pthread_create()當(dāng)用戶啟動程序后首先需要用戶登陸到服務(wù)器才能進(jìn)一步的對軟件進(jìn)行操作,這一部分即為用戶認(rèn)證模塊。在系統(tǒng)調(diào)用線程時為保證線程安全,需要前后分別調(diào)用gdk_threads_enter ()和gdk_threads_leave ()函數(shù)。上面的枚舉類型定義了用戶離線消息查看窗口中的列標(biāo)識。GtkCellRenderer *renderer:定義一個數(shù)據(jù)表現(xiàn)形式繪制類型。 客戶端主要函數(shù)和變量GtkWidget *tree:用于顯示客戶端聯(lián)系人列表的樹視圖GtkWidget *offline_tree:用于顯示離線消息的樹視圖GtkWidget *chat_window[100]:用于保存聊天窗體的編號。離線消息可以查看當(dāng)用戶不在線時,有哪些用戶向該用戶發(fā)送了離線消息。需要填寫信息:Server ip:填寫服務(wù)器地址User id: 填寫用戶名Password :填寫密碼點擊按鈕的消息事件:Cancel:退出當(dāng)前窗口Clear:清空填寫的信息OK:觸發(fā)on_butOk_clicked函數(shù)該函數(shù)用于連接服務(wù)器并同服務(wù)器進(jìn)行信息的發(fā)送與接收圖 48 登錄窗口添加用戶窗口:當(dāng)用戶電擊主窗口中的Add按鈕時該窗體被激活。離線消息存儲文件: 該文件中保存了其它用戶發(fā)給當(dāng)前用戶的離線消息。服務(wù)器上主要存放5類用戶信息文件:用戶信息數(shù)據(jù)文件: 該文件中保存了用戶的loginid和password。刪除離線消息處理模塊:如果客戶做出了刪除離線消息的動作,那么服務(wù)器端將會根據(jù)用戶的發(fā)送信息把該用戶的離線消息文件中的離線消息刪除。用戶聊天信息轉(zhuǎn)發(fā)的處理模塊:當(dāng)服務(wù)器判斷用戶所請求的信息為聊天消息后,如果被指定用戶在線則提取他的套接字地址結(jié)構(gòu),并按照該套接字信息將消息轉(zhuǎn)發(fā)。 服務(wù)器消息處理模塊的設(shè)計與實現(xiàn)服務(wù)器的消息處理模塊主要由7部分組成,下面進(jìn)行分別論述:用戶登錄消息處理模塊:當(dāng)服務(wù)器接收到用戶消息并判斷是登錄消息后,設(shè)置用戶在線狀態(tài)為真的同時調(diào)用發(fā)送聯(lián)系人在線列表函數(shù),向添加該用戶為好友的用戶發(fā)送該用戶的上線信息。該函數(shù)中有7個主要消息處理模塊,這些模塊針對不同的客戶消息進(jìn)行處理,將他們組合在一起便形成了一套完整的消息處理機制。當(dāng)用戶點擊離線用戶時便會觸發(fā)一個離線消息事件,該事件通過服務(wù)器轉(zhuǎn)發(fā)方式發(fā)送給離線用戶,當(dāng)對方上線時便可查看該離線消息。4 軟件流程本節(jié)主要敘述了該軟件的整體運作流程,包括服務(wù)器和客戶端對消息的處理等流程,通過本節(jié)將能夠?qū)浖墓ぷ髁鞒痰玫揭粋€總體的認(rèn)識。 char dateserial[20]。 unsigned int new。 unsigned int status。}online_users_t。 char password[20]。 char receiver[10]。配置信息模塊:提供基本的軟件配置操作。因此,針對這些操作特性,將客戶端模塊進(jìn)行如下劃分:登陸功能模塊:建立與服務(wù)器的連接并登陸,能顯示登陸錯誤信息。處理聊天信息模塊:轉(zhuǎn)發(fā)消息給指定的用戶。接受來自客戶端的各種信息并分別處理。采用C/S結(jié)構(gòu)。與服務(wù)器程序一樣,無連接客戶程序也使用bind函數(shù)讓Socket執(zhí)行體登記協(xié)議端口。下面程序行顯示了一個典型的函數(shù)調(diào)用:result=bind ( socket_handle, local_structure socket_address, address_ length)無連接客戶程序也對一個協(xié)議端口進(jìn)行偵聽。使用無連接協(xié)議的程序和使用面向連接協(xié)議的服務(wù)器程序之間的主要相似之處是它們都必須對一個協(xié)議端口進(jìn)行偵聽。當(dāng)服務(wù)器配置socket接口時,它使用bind()函數(shù)讓socket執(zhí)行體登記一個協(xié)議端口。此時,服務(wù)程序被驚醒并且為客戶提供服務(wù),對客戶的請求做出適當(dāng)?shù)姆磻?yīng)??蛻艏?服務(wù)器模型將網(wǎng)絡(luò)應(yīng)用程序分為客戶和服務(wù)器兩部分。 本章小結(jié)需求是開發(fā)的前提,只有明確了需求才能開發(fā)出一個符合用戶期望的優(yōu)質(zhì)軟件。當(dāng)一個窗體出現(xiàn)問題時能夠及時的處理,讓主程序不受影響。 總體性能需求 服務(wù)器端性能需求服務(wù)器需要同時連接很多個用戶,并能提供給這些連接用戶所需要的任務(wù)處理請求,這就要求服務(wù)器能同時處理多個socket連接??蛻艨梢酝ㄟ^服務(wù)器轉(zhuǎn)發(fā),實現(xiàn)一對一的聊天。2 軟件需求分析為了開發(fā)出符合要求的網(wǎng)絡(luò)聊天程序,首先必須知道使用者的需求。用戶可以用GDB來調(diào)試C和C++寫的程序。保證程序在指定的條件下停止。gcc是可以在多種硬體平臺上編譯出可執(zhí)行程序的超級編譯器,其執(zhí)行效率與一般的編譯器相比平均效率要高20%~30% gcc 編譯器能將C、C++語言源程序、匯程式化序和目標(biāo)程序編譯、連接成可執(zhí)行文件,如果沒有給出可執(zhí)行文件的名字。C語言也更易移植,因而,在Linux下編程的最佳語言應(yīng)該是C語言,Linux上的很多應(yīng)用程序就是用C語言寫的。對于比較小型的項目,這種方法是比較適用的。 Glade集成開發(fā)工具簡介Glade是面向GTK+/Gtkmm的圖形界面開發(fā)工具。雖然完全是用C寫成的,但它仍然是用類和回調(diào)函數(shù)(指向函數(shù)的指針)的方法實現(xiàn)的。一般把這些構(gòu)件稱為Gnome構(gòu)件(與Gtk+構(gòu)件相對應(yīng))。Gtk+圖形庫使用一系列稱為“構(gòu)件”的對象來創(chuàng)建應(yīng)用程序的圖形用戶接口。旨在開發(fā)一個類似 Unix、并且是自由軟件的完整操作系統(tǒng):GNU 系統(tǒng)。通過將這3個參數(shù)結(jié)合起來,與一個Socket綁定,應(yīng)用層就可以和傳輸層通過套接字接口,區(qū)分來自不同應(yīng)用程序進(jìn)程或網(wǎng)絡(luò)連接的通信,實現(xiàn)數(shù)據(jù)傳輸?shù)牟l(fā)服務(wù) 開發(fā)平臺簡介 Linux系統(tǒng)簡介Linux 操作系統(tǒng)是UNIX 操作系統(tǒng)的一種克隆系統(tǒng)。 套接字簡介應(yīng)用層通過傳輸層進(jìn)行數(shù)據(jù)通信時,TCP和UDP會遇到同時為多個應(yīng)用程序進(jìn)程提供并發(fā)服務(wù)的問題。既然UDP是一種不可靠的網(wǎng)絡(luò)協(xié)議,那么還有什么使用價值或必要呢?其實不然,在有些情況下UDP協(xié)議可能會變得非常有用。根據(jù)OSI(開放系統(tǒng)互連)參考模型,UDP和TCP都屬于傳輸層協(xié)議。 UDP協(xié)議簡介UDP協(xié)議是英文User Datagram Protocol的縮寫,即用戶數(shù)據(jù)報協(xié)議,主要用來支持那些需要在計算機之間傳輸數(shù)據(jù)的網(wǎng)絡(luò)應(yīng)用。TCP 提供了有效流控制。TCP 是面向連接的端到端的可靠協(xié)議,并保證傳送數(shù)據(jù)包的順序,而順序是用一個響應(yīng)序號來保證的,這個響應(yīng)序號告訴接收者發(fā)送者期望的下一個包。為了可靠通信,TCP 在端點間建立了連接或虛擬電路。與 IP 協(xié)議相結(jié)合,TCP 代表了網(wǎng)絡(luò)協(xié)議的核心。所以,帶服務(wù)器的聊天軟件在網(wǎng)絡(luò)上,有著非常廣泛的用途,為網(wǎng)絡(luò)上的通訊帶來了極大的方便,它使人與人之間的交流不再只局限于某一個范圍,并且它的開銷也是很小的,你只需要擁有一部可以聯(lián)網(wǎng)的PC機就足夠了! TCP/IP協(xié)議簡介TCP/IP是國際互聯(lián)網(wǎng)所采用進(jìn)行網(wǎng)際互連的通信協(xié)議。現(xiàn)在也有很多在網(wǎng)絡(luò)上不使用服務(wù)器的通訊軟件,這種軟件小巧且方便,也能解決一部分問題。
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1