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

正文內(nèi)容

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

2024-09-14 11:23 上一頁面

下一頁面
 

【正文】 陸信息是否正確,并向客戶端返回登陸信息,如信息正確。處理申請信息模塊:通過用戶申請模塊進(jìn)行新用戶的注冊,保存該用戶信息。界面顯示模塊:將在線好友顯示在好友列表中,并顯示其當(dāng)前狀態(tài)??蛻舳斯δ苁疽鈭D:登陸到服務(wù)器客戶端界面顯示模塊配置信息模塊聊天功能模塊離線消息模塊 息圖42 客戶端功能模型 消息標(biāo)識的定義define GIF_LOGIN_MSG 1 用戶登錄define GIF_CALL_MSG 2 用戶呼叫define GIF_ADDRLIST_MSG 3更新聯(lián)系人列表信息define GIF_ADD_CONTACTS_MSG 4 添加連接信息define GIF_DELETE_CONTACTS_MSG 5 刪除連接信息define GIF_CHAT_MSG 6聊天信息define GIF_DISCONNECT_MSG 7 用戶下線消息define GIF_SUCCESS_N_ERROR_MSG 8消息請求成功或失敗信息define GIF_OFFLINE_REQUEST_MSG 9 發(fā)送離線消息define GIF_OFFLINE_MSG 10 離線消息define GIF_OFFLINE_DELETE_MSG 11 刪除離線消息用戶發(fā)送消息成功或失敗定義:define GIF_ERROR_LOGIN_INCORRECT 101 錯(cuò)誤的登陸信息define GIF_SUCCESS_ADD_CONTACTS 102 添加連接信息成功define GIF_ERROR_ADD_CONTACTS 103 添加連接信息錯(cuò)誤define GIF_SUCCESS_DELETE_CONTACTS 104 刪除連接信息成功define GIF_ERROR_DELETE_CONTACTS_NOT_A_CONTACT 105 用戶離線define GIF_ERROR_DELETE_CONTACTS_NOT_A_MEMBER 106 無指定用戶 消息結(jié)構(gòu)體的設(shè)計(jì)消息頭:typedef struct _gifhdr_t{ unsigned int type。 unsigned int reserved。}users_t。用戶聯(lián)系人信息結(jié)構(gòu):typedef struct _user_contacts_t{ char loginid[20]。}user_status_t。 char message[1024]。 unsigned int new。 服務(wù)器消息處理流程服務(wù)器運(yùn)行后即處于監(jiān)聽狀態(tài),當(dāng)監(jiān)聽到有連接請求時(shí)服務(wù)器進(jìn)入消息處理流程,因?yàn)榉?wù)器為并發(fā)服務(wù)器,所以可以同時(shí)對多個(gè)請求做出相應(yīng)。具體流程如下圖所示:圖 45 客戶端消息處理流程圖 申請用戶流程運(yùn)行用戶管理程序添加用戶顯示用戶刪除用戶退出程序管理員在服務(wù)器一端統(tǒng)一注冊用戶,然后將賬號分發(fā)給各用戶,申請用戶為單獨(dú)程序完成,當(dāng)新用戶注冊好后系統(tǒng)會(huì)創(chuàng)建3個(gè)用戶信息表用來保存相應(yīng)的客戶信息。而最后的消息處理部分就是由這7個(gè)模塊來完成的。如果匹配不成功,服務(wù)器將發(fā)送登錄失敗消息給客戶端,要求用戶重新登錄。如果用戶不在線則將消息標(biāo)識設(shè)定為離線消息,并將該消息寫入被指定用戶的離線消息文件中。 服務(wù)器數(shù)據(jù)存儲(chǔ)的方法該服務(wù)器采用文件作為數(shù)據(jù)存儲(chǔ)的對象。在線用戶數(shù)據(jù)文件: 該文件中保存了當(dāng)前在線用戶的loginid和socket信息。 客戶端主要窗口設(shè)計(jì)根據(jù)前面的選題背景和需求分析,此款軟件的客戶端部分提供了圖形用戶界面,程序運(yùn)行后激活主窗體,在主窗體上點(diǎn)擊設(shè)置為敏感狀態(tài)的按鈕就會(huì)產(chǎn)生相應(yīng)的事件,該事件將會(huì)觸發(fā)一個(gè)消息驅(qū)動(dòng)所指定的函數(shù)來處理這個(gè)操作。Contact’s id:填寫要添加的好友的loginid號OK:GIF_ADD_CONTACTS_MSG同時(shí)向服務(wù)器發(fā)送消息請求圖 49 添加好友窗口系統(tǒng)消息窗口:當(dāng)用戶的操作成功或者失敗的時(shí)候,系統(tǒng)會(huì)顯示一條消息給用戶,以便提示用戶操作是否成功。圖 411 離線消息窗體聊天窗口:當(dāng)用戶點(diǎn)擊好友時(shí),該窗口被激活。GtkListStore *offline_temp_store:定義一個(gè)離線消息數(shù)據(jù)管理類型。enum{ CONTACTS_COLUMN_TEXT, STATUS_COLUMN_PIXMAP}。gtk_widget_set_sensitive(widget, TRUE):設(shè)置指定控件的敏感度TRUE可以點(diǎn)擊 FALSE則不能點(diǎn)擊。例如:gdk_threads_enter()。該模塊在登陸窗口中收集服務(wù)器的IP地址和用戶的用戶名和密碼。之后,程序進(jìn)入主體運(yùn)行狀態(tài),各功能模塊被激活。將視圖添加到指定的容器中g(shù)tk_container_add (GTK_CONTAINER (scrolledwindow1), tree)。將建好的列添加到樹視圖中g(shù)tk_tree_view_append_column (GTK_TREE_VIEW (tree), column)。parent_iter,CONTACTS_COLUMN_TEXT, Available, 1)iterator是系統(tǒng)提供的一種訪問一個(gè)容器(container)對象中各個(gè)元素,而又不需暴露該對象的內(nèi)部細(xì)節(jié)的方法。實(shí)現(xiàn)刷新的方法是,先將以前的樹移除然后按照新的聯(lián)系人狀態(tài)進(jìn)行樹的繪制,具體的編寫方法在上節(jié)的界面顯示模塊中以給出,這里就不再重復(fù)了。離線消息:如果接收到的消息類型為GIF_OFFLINE_MSG,程序會(huì)按照界面顯示模塊中對樹視圖的創(chuàng)建步驟那樣,創(chuàng)建一個(gè)顯示離線消息的視圖用來顯示離線消息。結(jié) 論在經(jīng)過了幾個(gè)月的設(shè)計(jì)和編寫過后,一套適用于Linux操作系統(tǒng)的網(wǎng)絡(luò)聊天軟件基本成型,前期設(shè)計(jì)的一些功能需求也都得到了實(shí)現(xiàn)。欠缺之處在于沒有實(shí)現(xiàn)系統(tǒng)托盤,用戶使用時(shí)只能通過點(diǎn)擊任務(wù)欄的標(biāo)簽對軟件進(jìn)行顯示或隱藏,這一部分的功能將會(huì)進(jìn)一步的完善。[2] Stevens[美].UNIX網(wǎng)絡(luò)編程(卷1:套接口API)第三版[M].北京:清華大學(xué)出版社,2006。[6]宋國偉. GTK+[M].北京:清華大學(xué)出版社, 2002。文中除了特別加以標(biāo)注地方外,不包含他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得成都信息工程學(xué)院或其他教學(xué)機(jī)構(gòu)的學(xué)位或證書而使用過的材料。(3)學(xué)校可以學(xué)術(shù)交流為目的復(fù)制、贈(zèng)送和交換學(xué)位論文。特此聲明! 作者簽名: 2007年6月 日。(5)學(xué)校可以公布學(xué)位論文的全部或部分內(nèi)容(保密學(xué)位論文在解密后遵守此規(guī)定)。關(guān)于學(xué)位論文使用權(quán)和研究成果知識產(chǎn)權(quán)的說明:本人完全了解成都信息工程學(xué)院有關(guān)保管使用學(xué)位論文的規(guī)定,其中包括:(1)學(xué)校有權(quán)保管并向有關(guān)部門遞交學(xué)位論文的原件與復(fù)印件。致 謝本文是在李曉崗老師和茍智堅(jiān)老師的熱情關(guān)心和指導(dǎo)下完成的,他們淵博的知識和嚴(yán)謹(jǐn)?shù)闹螌W(xué)作風(fēng)使我受益匪淺,對順利完成本課題起到了極大的作用。[4] Stevens[美].UNIX環(huán)境高級編程第二版[M].北京:人民郵電出版社, 2006。當(dāng)在開發(fā)過程中遇到問題時(shí),分析并解決問題,在這一過程中能夠逐步的充實(shí)自己,這是在做畢業(yè)設(shè)計(jì)的過程中讓我得到的最大收益。服務(wù)器經(jīng)過多平臺的測試后,能夠穩(wěn)定的運(yùn)行。 本章小結(jié)本章是全文的重點(diǎn),從軟件的總體結(jié)構(gòu)到具體的流程再到詳細(xì)的分析和設(shè)計(jì)實(shí)現(xiàn),都為軟件的設(shè)計(jì)奠定了堅(jiān)實(shí)的一步。同時(shí)設(shè)置用戶和聯(lián)系人的顯示顏色,以便區(qū)分聊天消息的來源。消息處理模塊:當(dāng)客戶端和服務(wù)器建立連接后,客戶端會(huì)創(chuàng)建一個(gè)專門的線程來維護(hù)客戶端和服務(wù)器之間的連接,該線程調(diào)用函數(shù)根據(jù)從服務(wù)器接收到的消息類型來選擇消息處理模塊。
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1