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

正文內(nèi)容

基于vb的即時通信系統(tǒng)畢業(yè)設(shè)計-文庫吧

2025-01-03 16:20 本頁面


【正文】 要求具有一定專業(yè)水準(zhǔn)的技術(shù)人員去完成。 基于Socket通信的基本應(yīng)用模式在基丁Socket構(gòu)造TCP/IP網(wǎng)絡(luò)應(yīng)用時,通信雙方常常構(gòu)成客戶端/服務(wù)器的模式,即客戶向服務(wù)器發(fā)出服務(wù)器請求,服務(wù)器接收到請求后,提供相應(yīng)的服務(wù)。服務(wù)與被服務(wù)都是通過傳遞各種請求消息、響應(yīng)消息等一問一答的方式來實(shí)現(xiàn)靈活的網(wǎng)絡(luò)應(yīng)用。以有連接方式為例,客戶端和服務(wù)器在通信過程中的基本操作和時序如圖24所示:圖24 基于Socket應(yīng)用的基本時序圖 在上述基本時序中,請求服務(wù)和提供服務(wù)的過程都可以反復(fù)進(jìn)行,直到完成某個預(yù)定的應(yīng)用功能。這樣,通過基本消息傳遞,可以建立起靈活多樣的網(wǎng)絡(luò)應(yīng)用。在實(shí)際設(shè)計的應(yīng)用中,服務(wù)器往往不只服務(wù)于來自單個客戶端的請求。此時,服務(wù)器接收到一個連接請求,并建立起了連接,接下來的處理還可以劃分為兩種截然不同的方式:是直接處理該請求并發(fā)送應(yīng)答信息,然后再進(jìn)行下面的工作。在服務(wù)器處理請求的過程忠,不可能再對另外的請求進(jìn)行響應(yīng)。只有當(dāng)一個完整的服務(wù)過程完成后,程序再循環(huán)回到接收請求的地方,此時才又可以接收下一個請求。如此周而復(fù)始。這種方式叫做重復(fù)服務(wù)器,即一次只能處理一個服務(wù)請求。是每收到一個服務(wù)請求時,就激活一個新的進(jìn)程(或線程)來專門處理這個客戶請求。新建立的進(jìn)程(或線程)從創(chuàng)建它的服務(wù)器繼承了建立好的連接等資源,并使用這個建立好的連接與客戶端進(jìn)行通信,為客戶端提供服務(wù)。而原來的服務(wù)器就可以立刻又回到等待請求的地方,可以接受下一個連接請求。新進(jìn)程(或線程)中服務(wù)完成后,關(guān)閉自己與客戶端的通信鏈路,并自行終止。這種方式叫做并發(fā)式服務(wù)器 ,即可以同時響應(yīng)多個客戶端的清求。[7] 如果應(yīng)用比較簡單,客戶端較少,同時發(fā)生請求的概率很低,或者客戶端不介意等待服務(wù)的時間,可以采用重復(fù)服務(wù)器。而如果客戶端較多,并對服務(wù)響應(yīng)的要求較高,就應(yīng)當(dāng)采用并發(fā)服務(wù)器,這種方式可以滿足大型和復(fù)雜應(yīng)用的需求。如果使用無連接的模式,就不存存建立、斷開連接等過程。但是通過基本信息傳遞實(shí)現(xiàn)提供服務(wù)的道理與有連接的模式是一樣的。 設(shè)計工具Visual Basic介紹BASIC是Beginner39。s Allpurpose symbolic instruction Code(初學(xué)者通用符號指令代碼)的縮寫,是國際上廣泛使用的一種計算機(jī)高級語言。BASIC簡單、易學(xué),目前仍是計算機(jī)入門的主要學(xué)習(xí)語言之一。 BASIC語言的問世及發(fā)展 BASIC語言自其問世經(jīng)歷了以下四個階段:第一階段:(1964年~70年代初) 1964年BASIC語言問世。 第二階段:(1975年~80年代中) 微機(jī)上固化的BASIC第三階段:(80年代中~90年代初) 結(jié)構(gòu)化BASIC語言。第四階段:(1991年以來) Visual BASIC   1991年,微軟推出了Visual Basic(簡稱VB)。這在當(dāng)時引起了很大的轟動。許多專家把VB的出現(xiàn)當(dāng)作是軟件開發(fā)史上的一個具有劃時代意義的事件。其實(shí),以我們現(xiàn)在的目光來看,VB10的功能實(shí)在是太弱了。但在當(dāng)時,它是第一個“可視”的編程軟件。這使得程序員欣喜之極,都嘗試在VB的平臺上進(jìn)行軟件創(chuàng)作。并且從VB3開始,微軟將ACCESS的數(shù)據(jù)庫驅(qū)動集成到了VB中,這使得VB的數(shù)據(jù)庫編程能力大大提高。從VB4開始,VB也引入了面向?qū)ο蟮某绦蛟O(shè)計思想。VB功能強(qiáng)大,學(xué)習(xí)簡單。而且,VB還引入了“控件”的概念,使得大量已經(jīng)編好的VB程序可以被我們直接拿來使用,如今。幾個定義:  在討論Visual Basic時,經(jīng)??梢月牭竭@些術(shù)語,因此對這些術(shù)語的基本理解十分有幫助。控件:提供程序可見界面的可重用對象??丶氖纠形谋究?、標(biāo)簽和命令按鈕。事件:由用戶或操作系統(tǒng)引發(fā)的動作。事件的示例有擊鍵、單擊鼠標(biāo)、一段時間的限制,或從端口接收數(shù)據(jù)。方法:嵌入在對象定義中的程序代碼,它定義對象怎樣處理信息并響應(yīng)某事件。例如,數(shù)據(jù)庫對象有打開紀(jì)錄集并從一個記錄移動到另一個記錄的方法。 對象:程序的基本元素,它含有定義其特征的屬性,定義其任務(wù)和識別它可以響應(yīng)的事件的方法??丶痛绑w是Visual Basic中所有對象的示例。 過程: 為完成任務(wù)而編寫的代碼段。過程通常用于響應(yīng)特定的事件。 屬性:對象的特征,如尺寸、位置、顏色或文本。屬性決定對象的外觀,有時也決定對象的行為。屬性也用于為對象提供數(shù)據(jù)和從對象取回信息。[8] 本章小結(jié) 本章主要介紹了設(shè)計過程中用到的一些相關(guān)的技術(shù)和原理,如TCP/IP和Winsock等。還有軟件的設(shè)計平臺的介紹,主要是編程工具VB的歷史背景和相關(guān)的一些主要控件的介紹,為下面的設(shè)計奠定了一個良好的理論基礎(chǔ)。第3章 網(wǎng)絡(luò)即時通信軟件的設(shè)計 即時通信系統(tǒng)的需求分析 基本需求 一般即時消息格式需求 1) 所有實(shí)體必須至少使用一種消息格式; 2) 必須定義發(fā)信者和即時收件箱的標(biāo)識; 3) 必須包含一個讓接收者可以回消息的地址; 4) 必須反映當(dāng)前最好的可用性實(shí)踐??煽啃孕枨? 協(xié)議必須存在機(jī)制,保證即時消息成功投遞或者投遞失敗的時候,發(fā)信者獲得足夠的信息。 性能需求1) 傳輸必須足夠的迅速;2) 內(nèi)容必須足夠豐富;3) 長度盡量足夠長。 協(xié)議需求 協(xié)議是一系列的步驟,它包括雙方或者多方,設(shè)計它的目的是要完成一項(xiàng)任務(wù)。即時通訊協(xié)議,參與的雙方或者多方是即時通訊的實(shí)體。協(xié)議必須是雙方或者多方參與的,一方單獨(dú)完成的就不算協(xié)議。這樣在協(xié)議動作的過程中,雙方必須交換信息,包括控制信息、狀態(tài)信息等等。這些信息的格式必須是協(xié)議參與方同意并且遵循的。好的協(xié)議要求清楚,完整,每一步都必須有明確的定義,并且不會引起誤解。對每種可能的情況必須規(guī)定具體的動作。 安全需求A發(fā)送即時消息M給B:1) 如果無法發(fā)送,A必須接到確認(rèn);2) 協(xié)議必須為B提供方法檢查A發(fā)送了這條信息;3) 協(xié)議不能暴露A的IP地址;4) 協(xié)議必須為A提供方法保證沒有其他個體C可以看到內(nèi)容M;5) 協(xié)議必須為A提供方法保證沒有其他個體C可以篡改M。 系統(tǒng)需求注冊需求1)即時通訊系統(tǒng)擁有多個賬戶,允許多個用戶注冊;2)一個用戶可以注冊多個帳號;3)注冊所使用的帳號類型為數(shù)字;4)要防止同一個用戶在一段時間內(nèi)反復(fù)注冊三個或者三個以上的帳號。通訊需求1)用戶可以傳輸文本消息;2)用戶可以傳輸RTF格式消息;3)用戶可以傳輸文件;4)客戶端與服務(wù)器端可以傳輸消息。好友管理需求1)用戶可以查詢好友;2)用戶可以添加好友;3)用戶可以添加多個人為好友,一個用戶可以被多個人添加為好友;4)用戶可以刪除好友。 界面設(shè)計用戶界面是一個應(yīng)用程序最重要的部分,對用戶而言,界面就是應(yīng)用程序,他們感覺不到幕后正在執(zhí)行的代碼。不論花多少時間和精力來編制和優(yōu)化代碼,應(yīng)用程序的可用性仍然在很大程度上依賴于界面的好壞 。Visual Basic采用在窗體上拖曳控件的方式為創(chuàng)建用戶界面提供了非常簡便的方法,窗體的設(shè)計和規(guī)劃不僅影響到它本身外觀的可觀賞性,在大多數(shù)時候,這樣的界面設(shè)計都是由程序設(shè)計人員完成,因此了解用戶界面的設(shè)計原則,是每個程序設(shè)計人員都要做的事情。[9]本軟件包含10個窗體和5個模塊,基本上這些窗體的實(shí)現(xiàn)的功能都比較簡單,所以窗體里也不用多少個控件,在這里就主要介紹下登錄界面和主界面的設(shè)計要點(diǎn)。 登錄界面這是用戶使用此軟件首先看到的一個界面,所以對用戶來說這個界面的可用性和美觀性直接影響到對整個軟件的看法。首先暫且給此軟件命名為MYIM,這樣聽起來比較直觀吧!想要在登錄的窗體標(biāo)題上顯示“MYIM登錄”,只要把窗體屬性的Caption值改成“MYIM登錄”即可。同時也可以在文字前加上圖標(biāo)(圖中沒有添加),這樣就顯得有點(diǎn)特色。然后把窗體分成兩部分:操作方法文本說明和用戶信息輸入的控件放置。為了美觀起見,在文本說明輸入的前面加上一個圖標(biāo)(如圖31的“”);然后再輸入“歡迎使用MYIM”和使用該軟件的方法。最好把這兩塊文本分成兩個標(biāo)簽,因?yàn)檫@樣的話后面程序用到的時候顯示得就比較清晰明了。另一部分要使用到的控件有標(biāo)簽、文本框、復(fù)選框和按鈕?!坝脩裘?、“密碼”和“服務(wù)器IP”這三組文字使用的是標(biāo)簽控件,因?yàn)檫@三組文字不需要改動,只是提示用戶后面文本框內(nèi)需要輸入的相應(yīng)內(nèi)容。和下面的“記住密碼”用的都是復(fù)選框控件,同時為了方便用戶,把復(fù)選框放在輸入用戶名后,這樣用戶就可以及時地確認(rèn)自己是否為新用戶,減少了輸入的錯誤?!坝涀∶艽a”也一樣。其他兩個是按鈕,用戶輸入好信息后,如果沒錯誤,按繼續(xù)按鈕就可以進(jìn)入主界面;如果不需要登錄,按關(guān)閉就可以退出程序。按此步驟設(shè)計完成大致的圖如31所示:圖31 MYIM登錄界面 主界面 主界面是程序的核心,各個功能都是通過這個界面來連接完成的。這個窗體主要通過菜單控件來完成,總共包括三個菜單項(xiàng):文件、工具和幫助。文件菜單里又包括登錄、修改密碼、修改個人信息、報表、個人狀態(tài)和關(guān)閉。登錄項(xiàng)在用戶登錄后顯示的是“注銷”;點(diǎn)擊修改密碼就會彈出修改密碼的窗體;修改個人信息就會彈出個人信息的窗體;報表的窗體里包括發(fā)送給服務(wù)器錯誤、評論及投訴的報表;個人狀態(tài)顯示的是用戶目前的狀態(tài),分別用幾種顏色來表示:綠色表示在線,紅色表示忙碌,黃色表示離開,灰色表示隱身或離線。關(guān)閉就是關(guān)閉此軟件。工具菜單里包括發(fā)送消息、用戶信息、文件傳輸和添加刪除好友。這些都是通過調(diào)用相關(guān)的窗體來實(shí)現(xiàn)的。幫助菜單里顯示的是關(guān)于此軟件的一些說明。其他的有兩個快捷的按鈕,分別是用來發(fā)送和選擇用戶狀態(tài)的按鈕,因?yàn)橄胍谶@兩個按鈕上添加圖標(biāo),所以寫上了“圖標(biāo)”兩個字,下圖只是表達(dá)一種效果;顯示登錄的用戶自己的用戶名和用戶目前的狀態(tài)的標(biāo)簽及顯示好友列表的Treeview控件,這個控件的參數(shù)要在程序里設(shè)置,所以這里沒有添加相關(guān)的內(nèi)容;還有狀態(tài)欄,用來顯示各種提示的信息。 根據(jù)這樣的思路,再對界面進(jìn)行一定的整合和排列后就得到如圖32這樣的效果。圖32 軟件主界面 系統(tǒng)設(shè)計和功能的實(shí)現(xiàn) 各模塊的邏輯分析及設(shè)計前面介紹了軟件界面的設(shè)計,但光有界面還是遠(yuǎn)遠(yuǎn)不夠的,這樣不能實(shí)現(xiàn)任何的功能,所以還需要很重要的后臺支持,這個后臺就是程序代碼。下圖給出的是軟件的整體設(shè)計框架,這個軟件實(shí)現(xiàn)的功能都可以從圖中看出,下面就先來對各個模塊進(jìn)行分析和代碼編寫流程的設(shè)計。圖33 軟件的整體設(shè)計框架 用戶登錄模塊。 擁有合法(如:用戶名中不能包含空格等)用戶名的用戶,輸入與上次相同的密碼(如果是新用戶,只要在用戶名后選擇新用戶即可。注意:密碼中也不能包含空格?。缓筝斎雽?yīng)的服務(wù)器IP地址就可以通過客戶端登錄到服務(wù)器,服務(wù)器獲取客戶端的用戶名和網(wǎng)絡(luò)環(huán)境數(shù)據(jù),保存在用戶數(shù)據(jù)表中。客戶端登錄之后,將從好友數(shù)據(jù)表中讀取好友,從在線用戶數(shù)據(jù)表中讀取在線用戶信息,從用戶基本信息數(shù)據(jù)表讀取好友基本數(shù)據(jù)。[10]下面先給出用戶登錄的邏輯圖,如圖34所示。圖34 用戶登錄邏輯過程根據(jù)圖34的邏輯過程,我們可以對用戶登錄模塊的代碼進(jìn)行編寫,代碼的編寫流程圖如圖35所示(這里默認(rèn)服務(wù)器已經(jīng)開啟,并且輸入的服務(wù)器IP地址正確)。圖35 登錄模塊代碼編寫流程圖個人信息修改模塊首先向服務(wù)器發(fā)送修改個人信息的請求給服務(wù)器,服務(wù)器根據(jù)用戶名和相應(yīng)的指令查詢用戶的個人信息,然后調(diào)用服務(wù)器中存儲的用戶信息,顯示在用戶個人信息的窗體中,用戶如果要修改資料,就把用戶修改的資料保存下來存到服務(wù)器中,用戶也可以直接看到自己的信息已經(jīng)被修改了。 個人信息修改邏輯過程如圖36所示。 圖36 用戶信息修改邏輯過程 密碼修改模塊用戶首先要記住自己的密碼,這樣也可以防止被他人隨意修改。同時為了保證用戶輸入的密碼是否符合用戶的要求,再輸入一次確認(rèn)密碼就可以保證密碼是用戶想要修改的結(jié)果,然后保存,同時向服務(wù)器發(fā)送密碼修改的請求,服務(wù)器就把修改后的密碼保存下來。密碼修改模塊代碼編寫流程圖如圖37所示。圖37 密碼修改模塊代碼編寫流程圖 發(fā)送報表模塊報表包括三類:錯誤、評論和投訴。首先拉一個文本框,還有三個按鈕,如果要發(fā)送,只需要在文本框中輸入要發(fā)送的內(nèi)容,然后選擇一個按鈕進(jìn)行發(fā)送,這樣,代碼里只要輸入指令和相應(yīng)的內(nèi)容發(fā)送給服務(wù)器即可,發(fā)送完后清空文本框內(nèi)容,隱藏此窗體。 刪除好友模塊用戶刪除好友時,用戶在好友列表中選擇刪除對象并執(zhí)行刪除操作,系統(tǒng)會把該好友從好友列表中刪除,然后從好友數(shù)據(jù)表中刪除該用戶的好友記錄,就完成了好友刪除操作。刪除好友模塊邏輯過程如圖38所示。圖38 刪除好友模塊邏輯過程添加好友模塊輸入用戶名后檢查是否存在此用戶,向服務(wù)器發(fā)送添加好友的指令和好友用戶名,服務(wù)器把好友添加到用戶好友數(shù)據(jù)表中,好友顯示在用戶好友列表里,同時顯示好友目前狀態(tài)。添加好友模塊邏輯過程如圖39所示。圖39 添加好友模塊邏輯過程發(fā)送消息模塊先選擇要發(fā)送的對象,然后在R
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1