計(jì)算機(jī)應(yīng)用技術(shù)畢業(yè)論文_第1頁
計(jì)算機(jī)應(yīng)用技術(shù)畢業(yè)論文_第2頁
計(jì)算機(jī)應(yīng)用技術(shù)畢業(yè)論文_第3頁
計(jì)算機(jī)應(yīng)用技術(shù)畢業(yè)論文_第4頁
計(jì)算機(jī)應(yīng)用技術(shù)畢業(yè)論文_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

計(jì)算機(jī)應(yīng)用技術(shù)畢業(yè)論文題目C#.NET企業(yè)QQ系統(tǒng)-類庫模塊、效勞器端模塊的設(shè)計(jì)與實(shí)現(xiàn)計(jì)算機(jī)與通信工程系計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)

目錄TOC\o\h\z\uTOC\o"1-7"\f\t"標(biāo)題8,8,標(biāo)題9,9,樣式tgt1+黑體四號(hào)加粗,8"第一章開發(fā)工具簡介 71.1VisualStudio 71.2C#語言 71.3SQLServer2005 71.4C/S結(jié)構(gòu) 81.5UDP協(xié)議 91.6Socket 9第二章建設(shè)企業(yè)QQ系統(tǒng)的分析 102.1建設(shè)企業(yè)QQ系統(tǒng)的背景 102.2建設(shè)企業(yè)QQ系統(tǒng)的可行性 102.3企業(yè)QQ系統(tǒng)的功能需求 102.4企業(yè)QQ系統(tǒng)的性能需求 102.5企業(yè)QQ系統(tǒng)的運(yùn)行環(huán)境 11第三章企業(yè)QQ系統(tǒng)設(shè)計(jì) 113.1企業(yè)QQ系統(tǒng)目標(biāo) 113.2企業(yè)QQ系統(tǒng)功能結(jié)構(gòu) 113.2企業(yè)QQ系統(tǒng)業(yè)務(wù)流程 123.3數(shù)據(jù)庫的設(shè)計(jì) 123.3.1數(shù)據(jù)庫分析 123.3.2數(shù)據(jù)庫概念設(shè)計(jì) 13第四章類庫的設(shè)計(jì) 134.1類庫定義 134.2類庫的創(chuàng)立說明 134.2.1ClassPublic類 144.2.2UDPSocket控件 144.2.3ClassForms類 184.2.4ClassMsg類 184.2.5ClassOptionData類 ExSQL()方法 ExSQLReDr()方法 204.2.6ClassSerializers類 SerializeBinary()方法 DeSerializeBinary()方法 214.2.7ClassUserInfo類 214.2.8ClassUsers類 224.2.9ClassVideo類 23第五章效勞器端模塊設(shè)計(jì) 255.1效勞器端控制臺(tái)窗體 255.2效勞器端控制臺(tái)窗體實(shí)現(xiàn)過程 25結(jié)論 29致謝 30參考文獻(xiàn): 31

C#.NET企業(yè)QQ系統(tǒng)-類庫模塊、效勞器端模塊的設(shè)計(jì)與實(shí)現(xiàn)摘要隨著Internet應(yīng)用的越來越豐富,使用計(jì)算機(jī)人的增多,以簡便、快速為代表的即時(shí)通訊工具也層出不窮,同時(shí),也成為當(dāng)今網(wǎng)絡(luò)應(yīng)用的主流。聊天工具作為當(dāng)今最為廣泛的即時(shí)通訊工具之一,這種在線聊天工具已被廣闊用戶所接受,比方,具有代表性的騰訊公司——QQ聊天軟件。本畢業(yè)設(shè)計(jì)就是模擬QQ聊天軟件,在基于.NET開發(fā)環(huán)境下,使用SQLServer2005數(shù)據(jù)庫、C#編程語言開發(fā)一個(gè)在線聊天,圖片發(fā)送,文件傳遞,視頻連接等功能的聊天工具。本文首先介紹國內(nèi)外聊天工具的開展;之后對開發(fā)環(huán)境和語言進(jìn)行簡單介紹;對本畢業(yè)設(shè)計(jì)所要開發(fā)的聊天軟件做較為詳細(xì)的需求分析,并給出聊天軟件的系統(tǒng)設(shè)計(jì)方案;本畢業(yè)設(shè)計(jì)主要實(shí)現(xiàn)聊天軟件的局部功能,在線聊天,文件傳遞,視頻連接等功能的類庫模塊,和效勞器端監(jiān)控用戶模塊;與另一位同學(xué)設(shè)計(jì)的客戶端模塊,構(gòu)成一個(gè)使用、功能完善的QQ聊天軟件;通過運(yùn)行、測試與分析來說明該即時(shí)聊天軟件穩(wěn)定、可靠具有一定的實(shí)用價(jià)值。關(guān)鍵詞:聊天軟件QQ聊天軟件SQL在線聊天C#.NETEnterpriseQQsystem-librarymodules,theservermoduledesignandimplementationAbstractAlongwiththeInternetapplicationismoreandmoreabundant,usingcomputerpersonincreasing,withsimpleandconvenient,rapid,asarepresentativeoftheinstantcommunicationtoolalsoemergeinendlessly,meanwhile,alsobecomethemainstreamofthecurrentnetworkapplications.Chattingtoolsasthemostextensiveinstantmessagingtool,thiskindofonlinechattingtoolshasbeenacceptedbythemassesofusers,forexample,isrepresentativeofthetecentcompany-QQchatsoftware.ThegraduationdesignissimulatedQQchatsoftware,basedondevelopmentenvironment,useSQLServer2005database,thec#programminglanguagedevelopedanonlinechat,pictures,documenttransfer,sendingvideolinksfunctionchattingtools.Thispaperfirstintroducesthedevelopmentofdomesticandforeignchattingtools,Afterdevelopmentenvironmentandlanguagesimpleintroduction,Ourgraduationdesigntodevelopsoftwareforchatdoingcomparativelydetailedrequirementanalysis,andgiveschatsoftwaresystemdesignscheme,Thegraduationdesignmainlyrealizeschatsoftware,thepartialfunctionofonlinechat,documenttransferfunctionssuchasvideoconnection,theclasslibrarymodules,andtheservermonitoringusermodule;Withanotherstudentsdesignedaclientmodules,constituteause,thefunctionisperfectQQchatsoftware,Byrunning,testandanalysistoillustratethereal-timechatsoftwareisstable,reliablehascertainpracticalvalue.Keywords:ChatsoftwareQQchatsoftwareSQLonlinechatting

引言Internet是目前世界上最大的計(jì)算機(jī)互聯(lián)網(wǎng)絡(luò),它遍布全球,將世界各地各種規(guī)模的網(wǎng)絡(luò)連接成一個(gè)整體,它的覆蓋面積的龐大使世界從此變小,人們的信息交流也變得簡單與方便。如今,人們可以通過即時(shí)聊天軟件進(jìn)行實(shí)時(shí)的溝通,從即時(shí)性、有效性和經(jīng)濟(jì)性上都超過了信件、E-Mail和。自從1996年11月ICQ在全球發(fā)布,拉開了互聯(lián)IM〔InstantMessenger,即時(shí)通訊〕應(yīng)用的序幕。ICQ一經(jīng)上市,迅速取得了廣闊的市場,作為世界IM的鼻祖,很有意思的說,ICQ是“Iseekyou〞的簡稱,是以色列兩個(gè)工程師開發(fā)的,由于它的前景一片光明,所以同類軟件迅速的更進(jìn)。因?yàn)槠浔旧淼募夹g(shù)并不復(fù)雜,所以很快幾乎每個(gè)國家都退出外鄉(xiāng)的IM軟件,搶奪了市場。以國內(nèi)的騰訊QQ軟件為例:騰訊QQ脫胎于騰訊OICQ,而OICQ就是國內(nèi)最早出現(xiàn)的即時(shí)通訊軟件之一,軟件最初的設(shè)計(jì)完全仿照ICQ,從內(nèi)容、形式等方面完全照搬。出于國內(nèi)首創(chuàng),所以很快積累了大量的人氣,用的人越來越多,最終占領(lǐng)了國內(nèi)70%以上的市場。其它還有微軟的MSN、雅虎的雅虎通、網(wǎng)易泡泡、盛大圈圈、淘寶旺旺、skype等。隨著IM軟件的深入研究,它的功能早已超出了初期的即時(shí)文字聊天。以騰訊QQ為例,我們通過QQ和好友進(jìn)行交流的同時(shí),可以自定義圖片發(fā)送和接收、語音視頻面對面聊天、點(diǎn)對點(diǎn)\斷點(diǎn)續(xù)傳的文件傳輸?shù)?。事?shí)說明,現(xiàn)在的IM是一個(gè)交流互動(dòng)、休閑娛樂、語音、視頻、音樂播放、信息共享等高級功能層出不窮的即時(shí)聊天軟件。開展至今,IM軟件已經(jīng)成為現(xiàn)代人和現(xiàn)代經(jīng)濟(jì)中不可缺少的一局部。它的出現(xiàn)給人們一個(gè)彼此之間的溝通帶來了方便、人們可以通過聊天軟件建立深刻的友情,讓人們在Internet上的交流帶來生機(jī)與活力。近年來,類似于QQ的局域網(wǎng)即時(shí)聊天工具得到了飛速開展。不管是在哪個(gè)行業(yè)里的運(yùn)用,它都能發(fā)揮其卓越的通訊功能,為企業(yè)帶來了不可估計(jì)的本錢節(jié)約,其中最突出的當(dāng)然是溝通本錢,作為現(xiàn)代化企業(yè),擁有適合自己的溝通方式,從而提高整體效率。第一章開發(fā)工具簡介1.1VisualStudioVisualStudio是一套完整的開發(fā)工具集,用于生成ASP.NETWeb應(yīng)用程序、XMLWebServices、桌面應(yīng)用程序和移動(dòng)應(yīng)用程序。VisualBasic、VisualC++、VisualC#、VisualJ#全都是用相同的集成開發(fā)環(huán)境〔IDE〕,利用此IDE可以成效工具且有助于創(chuàng)立混合語言解決方案。VisualStudio的安裝對于電腦的體系結(jié)構(gòu)、操作系統(tǒng)、硬件都有要求。VisualStudio內(nèi)有應(yīng)用程序、Web窗體、Windows窗體、XMLWebservices、XML支持。VisualStudio目前已經(jīng)開發(fā)到9.0版本,也就是VisualStudio2021。1.2C#語言C#〔CSharp〕是微軟為.NETFramewrok量身訂做的程序語言,C#擁有C/C++的強(qiáng)大功能以及VisualBasic簡易使用的特點(diǎn),是第一個(gè)組件向?qū)У某绦蛘Z言,和C++與Java一樣亦為對象向?qū)С绦蛘Z言。C#獨(dú)有的特點(diǎn)有:簡潔的語法精心的面對對象設(shè)計(jì)與Web的緊密結(jié)合完整的平安性與錯(cuò)誤處理版本處理技術(shù)靈活性與兼容性1.3SQLServer2005SQLServer2005數(shù)據(jù)庫管理重要特點(diǎn):數(shù)據(jù)庫鏡像:通過新數(shù)據(jù)庫鏡像方法,將記錄檔案傳送性能進(jìn)行延伸。在線恢復(fù):使用SQL2005版效勞器,數(shù)據(jù)庫管理人員將可以在SQL效勞器運(yùn)行的情況下,執(zhí)行恢復(fù)操作。在線檢索操作:在線檢索選項(xiàng)可以在指數(shù)數(shù)據(jù)定義語言〔DDL〕執(zhí)行期間,允許對基底表格、或集簇索引數(shù)據(jù)和任何有關(guān)的檢索,進(jìn)行同步修正。快速恢復(fù):新的、速度更快的恢復(fù)選項(xiàng)可以改進(jìn)SQL效勞器數(shù)據(jù)庫的可用性。平安性能的提高:SQLServer2005包括了一些在平安性能上的改進(jìn),例如數(shù)據(jù)庫加密、設(shè)置平安默認(rèn)值、增強(qiáng)密碼政策、縝密的許可控制、以及一個(gè)增強(qiáng)型的平安模式。新的SQLServerManagementStudio:SQLServer2005引入了SQLServerManagementStudio,這是一個(gè)新型的統(tǒng)一的管理工具組。這個(gè)工具組將包括一些新的功能,以開發(fā)、配置SQLServer數(shù)據(jù)庫,發(fā)現(xiàn)并修理其中的故障,同時(shí)這個(gè)工具組還對從前的功能進(jìn)行了一些改進(jìn)。專門的管理員連接:SQLServer2005將引進(jìn)一個(gè)專門的管理員連接,即使在一個(gè)效勞器被鎖住,或者因?yàn)槠渌虿荒苁褂玫臅r(shí)候,管理員可以通過這個(gè)連接,接通這個(gè)正在運(yùn)行的效勞器??煺崭綦x:我們將在數(shù)據(jù)庫層面上提供一個(gè)新的快照隔離〔SI〕標(biāo)準(zhǔn)。數(shù)據(jù)分割:數(shù)據(jù)分割將加強(qiáng)本地表檢索分割,這使得大型表和索引可以得到高效的管理。增強(qiáng)賦值功能:對于分布式數(shù)據(jù)庫而言,SQLServer2005提供了全面的方案修改〔DDL〕復(fù)制、下一代監(jiān)控性能、從甲骨文〔Oracle〕到SQLServer的內(nèi)置復(fù)制功能、對多個(gè)超文本傳輸協(xié)議〔〕進(jìn)行合并復(fù)制,以及就合并復(fù)制的可升級性和運(yùn)行,進(jìn)行了重大的改進(jìn)。1.4C/S結(jié)構(gòu)C/S結(jié)構(gòu),即大家熟知的客戶機(jī)和效勞器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到client端和server端來實(shí)現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是client/server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正向分布式的Web應(yīng)用開展,Web和client/server應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的開展方向。Client和Server常常分別處在相距很遠(yuǎn)的兩臺(tái)計(jì)算機(jī)上,Client程序的任務(wù)是將用戶的要求提交給Server程序,再將Server程序返回的結(jié)果以特定的形式顯示給用戶;Server程序的任務(wù)是接收客戶程序提出的效勞請求,進(jìn)行相應(yīng)的處理,再將結(jié)果返回給客戶程序。1.5UDP協(xié)議UDP協(xié)議的全稱是用戶數(shù)據(jù)報(bào)協(xié)議,在網(wǎng)絡(luò)中它與TCP協(xié)議一樣用于處理。數(shù)據(jù)包。在OSI模型中,在第四層——傳輸層,處于IP協(xié)議的上一層。UDP有不提供數(shù)據(jù)報(bào)分組、組裝和不能對數(shù)據(jù)包的排序的缺點(diǎn),也就是說,當(dāng)報(bào)文發(fā)送之后,是無法得知其是否平安完整到達(dá)的。UDP用來支持那些需要在計(jì)算機(jī)之間傳輸數(shù)據(jù)的網(wǎng)絡(luò)應(yīng)用。包括網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)在內(nèi)的眾多的客戶/效勞器模式的網(wǎng)絡(luò)應(yīng)用都需要使用UDP協(xié)議。UDP協(xié)議從問世至今已經(jīng)被使用了很多年,雖然其最初的光榮已經(jīng)被一些類似協(xié)議所掩蓋,但是即使是在今天,UDP仍然不失為一項(xiàng)非常實(shí)用和可行的網(wǎng)絡(luò)傳輸層協(xié)議。與所熟知的TCP協(xié)議一樣,UDP協(xié)議直接位于IP協(xié)議的頂層。根據(jù)OSI參考模型,UDP和TCP都屬于傳輸層協(xié)議。1.6SocketSocket用于在兩個(gè)基于TCP/IP協(xié)議的應(yīng)用程序之間相互通信。最早出現(xiàn)在UNIX系統(tǒng)中,是UNIX系統(tǒng)主要的信息傳遞方式。在windows系統(tǒng)中,socket稱為winsock。兩個(gè)根本概念:客戶方和效勞方。當(dāng)兩個(gè)應(yīng)用之間需要采用SOCKET通信時(shí),首先需要在兩個(gè)應(yīng)用之間〔可能位于同一臺(tái)機(jī)器,也可能位于不同的機(jī)器〕建立SOCKET連接,發(fā)起呼叫連接請求的一方為客戶方,接受呼叫連接請求的一方成為效勞方。客戶方和效勞方是相對的,同一個(gè)應(yīng)用可以是客戶方,也可以是效勞方。在客戶方呼叫連接請求之前,它必須知道效勞方在哪里。所以需要知道效勞方所在機(jī)器的IP地址或機(jī)器名稱,如果客戶方和效勞方事前有一個(gè)約定就好了,這個(gè)約定就是PORT〔端口號(hào)〕。也就是說,客戶方可以通過效勞方所在機(jī)器的IP地址或機(jī)器名稱和端口號(hào)唯一確實(shí)定方式來呼叫效勞方。在客戶方呼叫之前,效勞方必須處于偵聽狀態(tài),偵聽是否有客戶要求建立連接。一旦接到連接請求,效勞方可以根據(jù)情況建立或拒絕連接。連接方式有兩種,同步方式〔Blocking〕和(noBlocking).客戶方發(fā)送的消息可以是文本,也可以是二進(jìn)制信息流。當(dāng)客戶方的消息到達(dá)效勞方端口時(shí),會(huì)自動(dòng)觸發(fā)一個(gè)事件〔event〕,效勞方只要接管該事件,就可以接受來自客戶方的消息了。第二章建設(shè)企業(yè)QQ系統(tǒng)的分析2.1建設(shè)企業(yè)QQ系統(tǒng)的背景在一些中小型企業(yè)或是學(xué)校中,為了便于職工之間的交流,信息的傳遞,局域網(wǎng)企業(yè)QQ系統(tǒng)的開發(fā)就顯得非常重要??梢愿鶕?jù)企業(yè)的內(nèi)部結(jié)構(gòu),開發(fā)一個(gè)符合本企業(yè)工作流程的QQ系統(tǒng),企業(yè)QQ可以幫助企業(yè)快速搭建內(nèi)部即時(shí)通訊系統(tǒng),大幅度提高企業(yè)的工作效率,使上級與下級之間的交流更方便。2.2建設(shè)企業(yè)QQ系統(tǒng)的可行性因?yàn)楸驹O(shè)計(jì)利用SQLServer2005數(shù)據(jù)庫,它使用與大中規(guī)模的數(shù)據(jù)量的需求,基于.NET開發(fā)環(huán)境,只要電腦能安裝VisualStudio就能運(yùn)行本畢業(yè)設(shè)計(jì)。2.3企業(yè)QQ系統(tǒng)的功能需求本系統(tǒng)通過客戶端、效勞器端來實(shí)現(xiàn)聊天系統(tǒng)的根本功能??蛻舳耍河脩糇越缑?;用戶登錄界面;用戶發(fā)送、接收消息界面等。效勞器端:處理用戶注冊;處理用戶登錄;處理用戶退出等。2.4企業(yè)QQ系統(tǒng)的性能需求隨著中小型企業(yè)的不斷開展,在企業(yè)內(nèi)部實(shí)現(xiàn)局域網(wǎng)通信時(shí)必不可少的。企業(yè)QQ系統(tǒng)就是一個(gè)非常好的局域網(wǎng)通信軟件,他可以進(jìn)行在線聊天、圖片發(fā)送、文件傳遞、視頻連接,還可以隨時(shí)在網(wǎng)絡(luò)中進(jìn)行多人對話或網(wǎng)絡(luò)會(huì)議。這樣,可以大大提高企業(yè)的工作效率,適于企業(yè)內(nèi)部職工的交流。2.5企業(yè)QQ系統(tǒng)的運(yùn)行環(huán)境系統(tǒng)開發(fā)平臺(tái):MicrosoftVisualStudio2005系統(tǒng)開發(fā)語言:C#數(shù)據(jù)庫管理系統(tǒng)軟件:MicrosoftSQLServer2005系統(tǒng)運(yùn)行平臺(tái):WindowsXP/Windows2000/WindowsWerver2003系統(tǒng)運(yùn)行環(huán)境:Microsoft.NRTFramework2.0第三章企業(yè)QQ系統(tǒng)設(shè)計(jì)3.1企業(yè)QQ系統(tǒng)目標(biāo)根據(jù)企業(yè)對QQ系統(tǒng)的要求,本設(shè)計(jì)可以實(shí)現(xiàn)的目標(biāo)有:操作簡單方便、界面簡潔美觀;每個(gè)客戶端只能注冊一次;可以在局域網(wǎng)中實(shí)現(xiàn)文字及文件的傳送;可以在局域網(wǎng)內(nèi)視頻;可以實(shí)現(xiàn)多用戶的信息通信;系統(tǒng)運(yùn)行穩(wěn)定、平安可靠。3.2企業(yè)QQ系統(tǒng)功能結(jié)構(gòu)根據(jù)企業(yè)QQ系統(tǒng)的特點(diǎn),分為客戶端和效勞器端兩個(gè)局部進(jìn)行設(shè)計(jì),效勞器端:主要將用戶的注冊信息,登錄狀態(tài)存儲(chǔ)到效勞器端的數(shù)據(jù)庫中,以便于在客戶端的QQ窗體上顯示當(dāng)前用戶是否在線。如圖3-1。企業(yè)QQ系統(tǒng)企業(yè)QQ系統(tǒng)客戶端效勞器端用戶注冊用戶登錄QQ窗體信息傳遞效勞器窗體.3-1企業(yè)QQ系統(tǒng)功能結(jié)構(gòu)圖3.2企業(yè)QQ系統(tǒng)業(yè)務(wù)流程圖3-2企業(yè)QQ系統(tǒng)業(yè)務(wù)流程圖3-2企業(yè)QQ系統(tǒng)業(yè)務(wù)流程通過圖3-2可以看出,客戶端與效勞器端使用的UDP協(xié)議是同一個(gè)協(xié)議。3.3數(shù)據(jù)庫的設(shè)計(jì)數(shù)據(jù)庫分析企業(yè)QQ系統(tǒng)的效勞器端主要記錄注冊人員的信息,也就是可以在數(shù)據(jù)庫中記錄所有人員的聊天信息,本系統(tǒng)使用microsoftSQLserver2005作為后臺(tái)數(shù)據(jù)庫。數(shù)據(jù)庫命名為db_myQQdata,其中包含了一張數(shù)據(jù)表,用于存儲(chǔ)當(dāng)前已注冊的人員信息,以及在線人員的狀態(tài)等。數(shù)據(jù)庫概念設(shè)計(jì)在QQ用戶登錄時(shí),為了可以在效勞器端返回所有注冊用戶的信息,可以在效勞器端的數(shù)據(jù)庫中創(chuàng)立一個(gè)用戶注冊表,用于記錄注冊用戶的IP地址、在線狀態(tài)、用戶名、密碼等。用戶注冊表的表達(dá)E-R圖如圖3-3。用戶注冊表(dbo_Uses)用戶注冊表(dbo_Uses)IDSignPassWordIPPortName圖3-3用戶注冊表第四章類庫的設(shè)計(jì)4.1類庫定義.NETFramework類庫是一個(gè)由Microsoft.NETFrameworkSDK中包含的類、接口和值類型組成的庫。該庫提供對系統(tǒng)功能的訪問,是建立.NETframework應(yīng)用程序、組件和控件的根底。4.2類庫的創(chuàng)立說明在開發(fā)企業(yè)QQ系統(tǒng)時(shí),為了便于客戶端與效勞器端的信息通信,可以將UDP協(xié)議封裝成一個(gè)空間,或是將局域網(wǎng)中發(fā)送或接受信息的功能封裝成類。為了便于客戶端和效勞器端的調(diào)用,可以將UDP控件和自定義類存儲(chǔ)在MyQQClass類庫中。ClassPublic類該類用于記錄效勞器端和客戶端的根本信息,并通過自定義方法myHostIP()獲取效勞器端的所有IP地址〔Dns提供簡單的域名解析功能,Dns.GetHostName()獲取本地計(jì)算機(jī)的主機(jī)名,IPHostEntry為IE主機(jī)地址信息提供容器類,hostent.AddressList獲取IP地址列表放進(jìn)一個(gè)數(shù)組里面,迭代器IEnumerator〕,然后通過自定義方法Get-Windows()獲取當(dāng)前系統(tǒng)中的Windows目錄〔GetWindowsDirectory〕〔〕方法是獲取windows目錄〕。如圖4-1ClassPublic類。圖4-1ClassPublic類圖4-1ClassPublic類UDPSocket控件創(chuàng)立自定義控件UDPSocket,該控件將UDP協(xié)議中的IP地址和端口號(hào)以控件屬性的形式進(jìn)行設(shè)置,并自定義了一個(gè)DataArrival事件,用于對主機(jī)的端口號(hào)進(jìn)行監(jiān)聽,以獲取遠(yuǎn)程計(jì)算機(jī)發(fā)送的消息。如圖4-2。圖4-2圖4-2UDPSocket()和UDPSocket()方法是創(chuàng)立控件時(shí)自動(dòng)生成的,UDPSocket()方法是發(fā)是對編程者自定義命令的生成器;UDPSocket()方法是將自定義命令添加到空間中。如圖4-3。圖4-3圖4-3OpenSocket()和CloseSocket()方法用于翻開和關(guān)閉UDP協(xié)議端口號(hào)的監(jiān)聽功能,并在監(jiān)聽關(guān)閉后,關(guān)閉用于接收消息的子線程。如圖4-4。圖4-4圖4-4Listener()方法用于實(shí)現(xiàn)主機(jī)端口號(hào)的監(jiān)聽功能,主要是在線程翻開時(shí),將DetUDPData()方法所接收的消息傳遞給線程的委托。如圖4-5。圖4-5圖4-5GetUDPData()方法是在獲取遠(yuǎn)程消息時(shí),將消息轉(zhuǎn)發(fā)給UDPSocket控件的DataArrival事件,可以通過該事件將消息發(fā)送給遠(yuǎn)程客戶端。如圖4-6。圖4-6圖4-6Send()方法用于將主機(jī)獲取的消息,通過IP地址和端口號(hào)發(fā)送給遠(yuǎn)程客戶端。如圖4-7。圖4-7圖4-7ClassForms類該類將獲取的窗體在InnerList列表中進(jìn)行添加和移除的操作,并可以通過制定的索引號(hào),在列表中查找相應(yīng)的窗體。如圖4-8圖4-8圖4-8ClassMsg類該類主要是用枚舉型的元素值指定消息發(fā)送的命令、消息類型、消息發(fā)送的狀態(tài)等,并用[Serializable]對類進(jìn)行序列化,當(dāng)類序列化后,序列化引擎將跟蹤所有已序列化的引用對象,以確保對象不被序列化太屢次。如圖4-9。圖4-9圖4-9ClassOptionData類該類將效勞器端對數(shù)據(jù)庫的操作進(jìn)行了封裝,通過對該類中各方法的調(diào)用,可以對數(shù)據(jù)表進(jìn)行添加,修改及讀取的操作。ExSQL()方法該方法通過ConStr參數(shù)所傳遞的SQL語句,對指定數(shù)據(jù)表進(jìn)行查詢,并將記錄個(gè)數(shù)進(jìn)行返回。如圖4-10。圖4-10圖4-ExSQLReDr()方法該方法通過ConStr參數(shù)所傳遞的SQL語句,對指定數(shù)據(jù)表進(jìn)行查詢,并將查找到的數(shù)據(jù)信息以SqlDataReader對象進(jìn)行返回。如圖4-11。圖4-11圖4-114.2.6ClassSerializers類該類主要是用SerializeBinary()和DeSerializeBinary()方法,在客戶端發(fā)送或接收信息時(shí),將對象序列化成二進(jìn)制流。SerializeBinary()方法該方法是在客戶端發(fā)送信息時(shí),將發(fā)送的對象序列化成二進(jìn)制流,并返回序列化后的二進(jìn)制流,因?yàn)镾ocket只能以二進(jìn)制流的形式進(jìn)行傳輸。如圖4-12。圖4-12圖4-DeSerializeBinary()方法該方法是在客戶端接收信息時(shí),將二進(jìn)制流反序列化為對象,并返回反序列化后的對象,這樣,便于在指定的控件上顯示接收的信息。如圖4-13。圖4-13圖4-134.2.7ClassUserInfo類該類用于記錄當(dāng)前QQ用戶的編號(hào)、IP地址、端口號(hào)、用戶名稱和用戶狀態(tài),并對該類進(jìn)行序列化。如圖4-14。圖4-14圖4-14ClassUsers類該類主要是將效勞器端所有注冊的用戶信息存儲(chǔ)到base類的InnerList列表中。這樣,當(dāng)用戶注冊或登錄時(shí),可以將該列表中的信息群發(fā)給當(dāng)前在線的所有用戶,以改變QQ窗體中的顯示狀況。如圖4-15。圖4-15圖4-15ClassVideo類該類主要是通過視頻API函數(shù),翻開已安裝的視頻設(shè)備,并將視頻所拍攝的照片保存到指定的路徑上。如圖4-16。圖4-16圖4-16第五章效勞器端模塊設(shè)計(jì)5.1效勞器端控制臺(tái)窗體該窗體時(shí)客戶端與遠(yuǎn)程客戶端相互通信的一個(gè)中轉(zhuǎn)站,并且在該窗體上顯示已注冊的所有用戶信息。效勞器端控制臺(tái)窗體如圖5-1。圖5-1圖5-15.2效勞器端控制

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論