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

正文內容

linux平臺下的聊天軟件的設計與開發(fā)—計算機畢業(yè)設計論文(參考版)

2024-09-04 11:23本頁面
  

【正文】 特此聲明! 作者簽名: 2007年6月 日。(5)學??梢怨紝W位論文的全部或部分內容(保密學位論文在解密后遵守此規(guī)定)。(3)學校可以學術交流為目的復制、贈送和交換學位論文。關于學位論文使用權和研究成果知識產權的說明:本人完全了解成都信息工程學院有關保管使用學位論文的規(guī)定,其中包括:(1)學校有權保管并向有關部門遞交學位論文的原件與復印件。文中除了特別加以標注地方外,不包含他人已經發(fā)表或撰寫過的研究成果,也不包含為獲得成都信息工程學院或其他教學機構的學位或證書而使用過的材料。致 謝本文是在李曉崗老師和茍智堅老師的熱情關心和指導下完成的,他們淵博的知識和嚴謹的治學作風使我受益匪淺,對順利完成本課題起到了極大的作用。[6]宋國偉. GTK+[M].北京:清華大學出版社, 2002。[4] Stevens[美].UNIX環(huán)境高級編程第二版[M].北京:人民郵電出版社, 2006。[2] Stevens[美].UNIX網絡編程(卷1:套接口API)第三版[M].北京:清華大學出版社,2006。當在開發(fā)過程中遇到問題時,分析并解決問題,在這一過程中能夠逐步的充實自己,這是在做畢業(yè)設計的過程中讓我得到的最大收益。欠缺之處在于沒有實現系統托盤,用戶使用時只能通過點擊任務欄的標簽對軟件進行顯示或隱藏,這一部分的功能將會進一步的完善。服務器經過多平臺的測試后,能夠穩(wěn)定的運行。結 論在經過了幾個月的設計和編寫過后,一套適用于Linux操作系統的網絡聊天軟件基本成型,前期設計的一些功能需求也都得到了實現。 本章小結本章是全文的重點,從軟件的總體結構到具體的流程再到詳細的分析和設計實現,都為軟件的設計奠定了堅實的一步。離線消息:如果接收到的消息類型為GIF_OFFLINE_MSG,程序會按照界面顯示模塊中對樹視圖的創(chuàng)建步驟那樣,創(chuàng)建一個顯示離線消息的視圖用來顯示離線消息。同時設置用戶和聯系人的顯示顏色,以便區(qū)分聊天消息的來源。實現刷新的方法是,先將以前的樹移除然后按照新的聯系人狀態(tài)進行樹的繪制,具體的編寫方法在上節(jié)的界面顯示模塊中以給出,這里就不再重復了。消息處理模塊:當客戶端和服務器建立連接后,客戶端會創(chuàng)建一個專門的線程來維護客戶端和服務器之間的連接,該線程調用函數根據從服務器接收到的消息類型來選擇消息處理模塊。parent_iter,CONTACTS_COLUMN_TEXT, Available, 1)iterator是系統提供的一種訪問一個容器(container)對象中各個元素,而又不需暴露該對象的內部細節(jié)的方法。以上所創(chuàng)建的視圖和存儲空間都還是空的,要想將數據從其中顯示出來還需要使用到下面的函數:下面的函數負責從指定的存儲模型中取出新行的itergtk_tree_store_append (store, amp。將建好的列添加到樹視圖中gtk_tree_view_append_column (GTK_TREE_VIEW (tree), column)。但這個視圖中并沒有定義列信息,業(yè)就是說這是一個空的無任何用處的列表視圖,要將用戶的信息顯示出來,還需要使用到以下的函數:新建一個圖像類型的繪制方式renderer = gtk_cell_renderer_pixbuf_new ()。將視圖添加到指定的容器中gtk_container_add (GTK_CONTAINER (scrolledwindow1), tree)。用戶列表和離線消息列表的構建是通過下面的函數來實現的:新建一個數據的存儲模型store= gtk_tree_store_new (2, G_TYPE_STRING, GDK_TYPE_PIXBUF)。之后,程序進入主體運行狀態(tài),各功能模塊被激活。同時將用戶名寫入消息頭結構體,并將密碼隨同數據字段一起發(fā)送給服務器。該模塊在登陸窗口中收集服務器的IP地址和用戶的用戶名和密碼。gdk_threads_leave()。例如:gdk_threads_enter()。void gif_call_client_for_chat(GtkTreeSelection *selection, gpointer data):當用戶點擊聯系人時會產生一個消息事件,程序根據用戶所選擇的聯系人生成聊天窗口,并對該窗體進行初始化。gtk_widget_set_sensitive(widget, TRUE):設置指定控件的敏感度TRUE可以點擊 FALSE則不能點擊。enum{ OFFLINE_NEW_PIXMAP, OFFLINE_SENDER_TEXT, OFFLINE_DATESERIAL_TEXT, OFFLINE_MSG_TEXT, OFFLINE_COLUMNS}。enum{ CONTACTS_COLUMN_TEXT, STATUS_COLUMN_PIXMAP}。GtkTreeModel *offline_selected_model:定義離線消息查詢數據管理接口。GtkListStore *offline_temp_store:定義一個離線消息數據管理類型。上面的窗體是客戶端用戶在使用中會經常使用到的一些窗口事件,這些部件統一起來便形成了一套完整的客戶端圖形用戶界面。圖 411 離線消息窗體聊天窗口:當用戶點擊好友時,該窗口被激活。圖 410 系統消息窗口離線消息窗口:當用戶點擊主窗口中的Offline按鈕時,該窗體被激活。Contact’s id:填寫要添加的好友的loginid號OK:GIF_ADD_CONTACTS_MSG同時向服務器發(fā)送消息請求圖 49 添加好友窗口系統消息窗口:當用戶的操作成功或者失敗的時候,系統會顯示一條消息給用戶,以便提示用戶操作是否成功。圖 47 程序主窗口窗體中包含按鈕:Conn:登陸按鈕,點擊可激活登錄窗口Add: 添加好友按鈕Conf:程序配置按鈕Offline:查看離線消息按鈕Conn菜單:包含Conn、Disconnect和Quit按鈕Contacts菜單:包含Add、Delete和Offline按鈕Help菜單:包含About按鈕聯系人列表:Status列:顯示聯系人狀態(tài)信Contacts列:顯示好友列表Available顯示表示用戶有好友當用戶無好友時顯示Not Available登錄窗口:當用戶點擊主窗口中的Conn按鈕時,該窗體被激活。 客戶端主要窗口設計根據前面的選題背景和需求分析,此款軟件的客戶端部分提供了圖形用戶界面,程序運行后激活主窗體,在主窗體上點擊設置為敏感狀態(tài)的按鈕就會產生相應的事件,該事件將會觸發(fā)一個消息驅動所指定的函數來處理這個操作。被添加為好友文件: 該文件中保存了有哪些用戶把當前用戶添加為好友。在線用戶數據文件: 該文件中保存了當前在線用戶的loginid和socket信息。在編程時主要使用fopen fread fwrite fclose等函數對文件進行操作,被打開文件的操作權限由fopen的參數來決定,讀取控制由fread來完成,fwrite主要負責向文件中寫入新的信息。 服務器數據存儲的方法該服務器采用文件作為數據存儲的對象。離線消息處理模塊:當服務器判斷用戶所請求的信息為讀取離線消息后,服務器會去讀用戶的離線消息文件,如果該文件中有被標識為新的離線消息時,服務器將把該消息提取出來發(fā)送給用戶,同時把該消息標識為已讀。如果用戶不在線則將消息標識設定為離線消息,并將該消息寫入被指定用戶的離線消息文件中。刪除好友信息處理模塊:當服務器接收到用戶的該消息請求時,服務器根據用戶所提供的好友用戶名來刪除被指定的好
點擊復制文檔內容
黨政相關相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1