2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  多媒體教室信息采集和通訊系統(tǒng)</p><p>  INFORMATION COLLECTION AND COMMUNICATION SYSTEM OF MULTIMEDIA CLASSROOM</p><p><b>  摘 要</b></p><p>  隨著計(jì)算機(jī)技術(shù)在教學(xué)領(lǐng)域的應(yīng)用不斷加深,多媒體教室的使用也越來越

2、廣泛。多媒體教學(xué)為學(xué)習(xí)者提供了更為豐富、優(yōu)質(zhì)的學(xué)習(xí)資源,對提高教學(xué)質(zhì)量、轉(zhuǎn)變教學(xué)觀念產(chǎn)生積極影響。因此,對于多媒體教室的管理需要一個(gè)行之有效的方法。</p><p>  本文提出了一個(gè)基于C/S結(jié)構(gòu)的多媒體教室信息管理和通訊的方法,并且進(jìn)行了系統(tǒng)實(shí)現(xiàn)。本文首先簡單對C#語言,SQL SERVER 2008和C/S結(jié)構(gòu)等技術(shù)進(jìn)行介紹。接著分析系統(tǒng)的功能需求,并對其進(jìn)行功能模塊的劃分。主要分為通訊模塊和信息管理模塊。

3、其中,通訊模塊包括服務(wù)器與各教室客戶端的通訊、服務(wù)器與所有教室客戶機(jī)之間的通訊,通訊內(nèi)容包括文字信息、語音信息、視頻信息、傳送文件、遠(yuǎn)程協(xié)助等。信息管理模塊包括教室管理、多媒體設(shè)備管理、保修系統(tǒng)等,可以對教室信息、設(shè)備信息、報(bào)修單進(jìn)行增加、查詢、修改、刪除,并且可以進(jìn)行一段時(shí)間內(nèi)的統(tǒng)計(jì)查詢。</p><p>  本系統(tǒng)的開發(fā)使用可以更好地讓我們運(yùn)用多媒體教室,幫助學(xué)校有效管理多媒體教室以及設(shè)備的統(tǒng)計(jì)。</p

4、><p>  關(guān)鍵字:多媒體教室管理; 局域網(wǎng); C#; SQL SERVER 2008</p><p><b>  ABSTRACT</b></p><p>  With the development of the application of computer technology in the teaching field, the use

5、 of multimedia classroom is more and more extensive. Multimedia teaching provides learners a richer and higher-quality learning resource and it can improve the quality of teaching. It makes a positive impact on changes o

6、f teaching concepts. Therefore, it needs an effective approach for the management of multimedia classrooms. </p><p>  In this paper, a multimedia classroom information management and communication method bas

7、ed on C / S structure is proposed and realized. First this article briefly introduces the C # language, SQL SERVER 2008 and C / S structure. Then it analyzes the system's functional requirements, and makes the divisi

8、on of functional modules. The system is mainly divided into two modules: the communication module and the management module. The former includes communication between the server and clients in ev</p><p>  We

9、 can make better use of multimedia classrooms with the development of this system. And with the new system, it will be easy to manage multi-media classrooms and equipment.</p><p>  Keywords: multimedia class

10、room management; LAN; C #; SQL SERVER 2008</p><p><b>  目 錄</b></p><p><b>  第一章 緒論1</b></p><p>  第一節(jié) 選題背景1</p><p>  第二節(jié) 研究意義1</p>

11、<p>  第三節(jié) 研究內(nèi)容及論文目錄結(jié)構(gòu)2</p><p>  第二章 相關(guān)技術(shù)及背景知識4</p><p>  第一節(jié) C#簡介及網(wǎng)絡(luò)編程技術(shù)4</p><p>  第二節(jié) 數(shù)據(jù)庫技術(shù)概述5</p><p>  第三節(jié) SQL SERVER 2008數(shù)據(jù)庫概述6</p><p>  

12、第四節(jié) C/S架構(gòu)6</p><p>  第三章 系統(tǒng)分析與需求分析8</p><p>  第一節(jié) 系統(tǒng)可行性分析8</p><p>  第二節(jié) 需求分析9</p><p>  第三節(jié) 數(shù)據(jù)流程圖10</p><p>  第四節(jié) E-R圖11</p><p>  第四章

13、 系統(tǒng)概要設(shè)計(jì)14</p><p>  第一節(jié) 系統(tǒng)總體設(shè)計(jì)14</p><p>  第二節(jié) 數(shù)據(jù)庫設(shè)計(jì)15</p><p>  第五章 系統(tǒng)詳細(xì)設(shè)計(jì)17</p><p>  第一節(jié) 項(xiàng)目功能具體實(shí)現(xiàn)17</p><p>  第二節(jié) 界面實(shí)現(xiàn)與操作24</p><p>  

14、第六章 軟件測試35</p><p>  第一節(jié) 測試目的35</p><p>  第二節(jié) 功能測試35</p><p>  第三節(jié) 測試結(jié)論35</p><p>  第七章 結(jié)束語36</p><p>  第一節(jié) 總結(jié)36</p><p>  第二節(jié) 工作展望36<

15、/p><p><b>  參考文獻(xiàn)I</b></p><p><b>  致謝II</b></p><p><b>  第一章 緒論</b></p><p><b>  選題背景</b></p><p>  近年來計(jì)算機(jī)技術(shù)發(fā)展迅猛

16、,其在各領(lǐng)域的應(yīng)用不斷加深,計(jì)算機(jī)輔助教學(xué)就是其中的一個(gè)成功例子。計(jì)算機(jī)輔助教學(xué)改變了以往教學(xué)中形式單一,信息量小等等諸多弊病,多媒體輔助教學(xué)能實(shí)現(xiàn)個(gè)性化教育,發(fā)展被教育者的積極主動(dòng)性,具有良好的視覺、聽覺效果、豐富的知識表達(dá)能力等多種有點(diǎn)。隨著全球信息化進(jìn)程的不斷發(fā)展,教育信息化勢在必行,多媒體教學(xué)正在逐漸成為主流教育形式。多媒體教學(xué)為學(xué)習(xí)者提供了更為豐富、優(yōu)質(zhì)的學(xué)習(xí)資源,必將對提高教學(xué)質(zhì)量,轉(zhuǎn)變教學(xué)觀念以及推進(jìn)全面教育產(chǎn)生了積極的影

17、響。</p><p>  局域網(wǎng)通訊(Local Network,簡稱LNLNIM)是指能夠即時(shí)發(fā)送和接收互聯(lián)網(wǎng)消息等的業(yè)務(wù)。自2001年面世以來,特別是近幾年的迅速發(fā)展,局域網(wǎng)通訊功能日益豐富。數(shù)據(jù)庫技術(shù)產(chǎn)生于60年代,40多年來數(shù)據(jù)庫技術(shù)得到了迅速發(fā)展,并已形成較為完整的理論體系和一大批實(shí)用系統(tǒng)。并且,近年來,隨著World Wide Web(WWW)的猛增及Internet技術(shù)的迅速發(fā)展,數(shù)據(jù)庫技術(shù)成為最熱

18、門技術(shù)之一。面向?qū)ο筌浖拈_發(fā)技術(shù),也大大保障了軟件開發(fā)的速度和效果。 </p><p>  隨著計(jì)算機(jī)的普及,計(jì)算機(jī)等硬件價(jià)格也不斷下降??傊?,無論從需求方面,還是技術(shù)方面、經(jīng)濟(jì)方面,一個(gè)多媒體教室信息采集和通訊系統(tǒng)的開發(fā)都是很有必要的。</p><p><b>  第二節(jié) 研究意義</b></p><p>  本課題針對多媒體教學(xué)模式由傳統(tǒng)

19、的黑板教學(xué)模式向多媒體教學(xué)模式發(fā)展的新趨勢,結(jié)合局域網(wǎng)通訊技術(shù)在C#平臺成熟的技術(shù),對多媒體教學(xué)系統(tǒng)做一些新的研究與應(yīng)用。</p><p>  傳統(tǒng)的多媒體教室,一般輔以投影儀或硬件網(wǎng)絡(luò)系統(tǒng)來建立多媒體教學(xué)系統(tǒng),對于教室的管理也往往是采用手工記錄的。一旦某個(gè)教室出現(xiàn)故障,通常都是給電教中心控制室打電話來求助,這時(shí)電教部門會(huì)派值班人員去各個(gè)教室解決。由于多媒體使用問題通常是在每節(jié)課剛剛上課的時(shí)候發(fā)生,這就導(dǎo)致了一個(gè)

20、弊端發(fā)生:即將上課的時(shí)候,經(jīng)常會(huì)有多個(gè)教室同時(shí)發(fā)生多媒體設(shè)備故障。這樣一來,若是多媒體管理員比較少,報(bào)修會(huì)變得很困難。并且,依靠電話的多媒體教室管理不能留下記錄,不方便長期的管理。而依賴網(wǎng)絡(luò)的多媒體管理系統(tǒng)正好可以解決這個(gè)問題。大部分學(xué)校的多媒體教室電腦已經(jīng)通過局域網(wǎng)連接到了一起,缺少的就是一個(gè)完善的管理系統(tǒng),需要通過這樣一個(gè)平臺來實(shí)現(xiàn)多媒體教室與服務(wù)器之間的通訊、文件傳輸、遠(yuǎn)程協(xié)助,并且可以從服務(wù)器端進(jìn)行管理,記錄教室情況、設(shè)備情況、

21、保修情況,查詢空教室等。</p><p>  目前,國內(nèi)已經(jīng)有一些相對成熟的教學(xué)軟件,比如凌波多媒體網(wǎng)絡(luò)教室軟件和icontrol多媒體控制系統(tǒng)等,這些軟件都有很強(qiáng)大的功能,而且操作方便;但是,這些軟件在市場上都有著昂貴的價(jià)格,而且很多功能不適合多媒體教室的管理。介于這些軟件以上的缺點(diǎn),本課題重在研究完全適合多媒體教室通訊與管理。并且是根據(jù)本校的實(shí)際情況,量身定做,使它更加符合本校多媒體教學(xué)的要求,以進(jìn)一步提高本

22、校多媒體教學(xué)質(zhì)量,因此該系統(tǒng)將有很大的發(fā)展。</p><p>  第三節(jié) 研究內(nèi)容及論文目錄結(jié)構(gòu)</p><p>  系統(tǒng)的開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的數(shù)據(jù)庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。</p><p>  在研究技術(shù)方面,對結(jié)構(gòu)化設(shè)計(jì)方法和面向?qū)ο蟮?/p>

23、設(shè)計(jì)開發(fā)方法進(jìn)行了研究和比較,本課題采用的是更為先進(jìn)的面向?qū)ο笤O(shè)計(jì)開發(fā)方法;軟件開發(fā)可以根據(jù)需要選用開發(fā)模式,本文采用了當(dāng)前較為先進(jìn)的面向?qū)ο蟮腃/S構(gòu)架模式。編程方面使用C# socket編程技術(shù),C#數(shù)據(jù)庫訪問技術(shù)及SQL SERVER 2008數(shù)據(jù)庫管理技術(shù)。</p><p>  本課題要實(shí)現(xiàn)以下功能:</p><p><b>  (1)通訊模塊:</b><

24、;/p><p>  單聊:服務(wù)器可以向各個(gè)教室發(fā)送信息,每個(gè)教室也都可以向服務(wù)器請求幫助; </p><p>  文件傳送:教室與控制室間傳送軟件等; </p><p>  語音聊天:教室進(jìn)行語音求助;</p><p>  視頻聊天:教室進(jìn)行視頻求助;</p><p>  遠(yuǎn)程協(xié)助:教室可以請求中控室管理員遠(yuǎn)程查看本地電腦

25、屏幕; </p><p>  顯示IP:顯示已和中控室計(jì)算機(jī)機(jī)連接的教室機(jī)的IP;</p><p>  廣播:中控室服務(wù)器可以向所有在線教室廣播消息。</p><p><b>  (2)管理模塊:</b></p><p>  教室信息:查詢、添加、修改、刪除教室信息,包括編號、教室名稱、教室類型、教室所在區(qū)、教室使用狀態(tài)

26、和教室容量;</p><p>  資產(chǎn)管理:查詢、添加、修改、刪除設(shè)備信息,包括設(shè)備編號、設(shè)備名稱、所在教室名稱、已使用時(shí)長、購買安裝日期、備注;</p><p>  資產(chǎn)保修:查詢、添加、修改、刪除保修信息,包括設(shè)備名稱、所在教室名稱、報(bào)修人姓名、損壞原因、損壞日期、備注。</p><p>  查空教室:查詢當(dāng)前可用的教室;</p><p>

27、;  統(tǒng)計(jì)查詢:查詢一段時(shí)間的教室信息、資產(chǎn)信息、保修信息。</p><p>  此外,還包括一些常用工具:屏幕錄制、屏幕保護(hù)、屏幕截圖、音頻播放、電腦錄音、界面鎖定等。</p><p>  全文共分為六章,各章內(nèi)容分別如下:</p><p>  第一章 緒論。闡述了本課題的研究背景和研究意義及其本文的研究內(nèi)容和組織結(jié)構(gòu)。</p><p> 

28、 第二章 系統(tǒng)使用技術(shù)概述。本章首先介紹了C#技術(shù)、數(shù)據(jù)庫技術(shù)和SQL SERVER 2008數(shù)據(jù)庫進(jìn)行了相關(guān)介紹,之后對系統(tǒng)的運(yùn)行環(huán)境visual studio 2008做了簡單的介紹。</p><p>  第三章 多媒體教室信息集成和通訊系統(tǒng)的分析。本章首先對系統(tǒng)進(jìn)行了可行性研究,指出了系統(tǒng)要解決的問題,并提出系統(tǒng)的設(shè)計(jì)思想;接下來對系統(tǒng)進(jìn)行了需求分析,最后分析了系統(tǒng)的業(yè)務(wù)流程。</p><

29、;p>  第四章 總體設(shè)計(jì)和數(shù)據(jù)庫設(shè)計(jì)。在對系統(tǒng)進(jìn)行架構(gòu)設(shè)計(jì)后,本章首先對系統(tǒng)流程進(jìn)行了詳細(xì)設(shè)計(jì),最后對數(shù)據(jù)庫進(jìn)行了概念設(shè)計(jì)和邏輯設(shè)計(jì)。</p><p>  第五章 系統(tǒng)的實(shí)現(xiàn)與維護(hù)。本章主要介紹了系統(tǒng)的實(shí)現(xiàn)基礎(chǔ),然后按照系統(tǒng)結(jié)構(gòu),逐層分析并給出相關(guān)代碼示例,最后給出了部分頁面的顯示結(jié)果圖。</p><p>  在總結(jié)中,總結(jié)了本文的內(nèi)容,并介紹了作者的主要工作及本系統(tǒng)存在的不足。&

30、lt;/p><p>  在參考文獻(xiàn)中,主要列舉了本文及本系統(tǒng)在構(gòu)建過程中所參考的教學(xué)資料和期刊。</p><p>  最后在致謝中,對給予幫助的師生表示感謝之情。</p><p>  第二章 相關(guān)技術(shù)及背景知識</p><p>  本系統(tǒng)是基于C#窗體編程的設(shè)計(jì)方案,使用 SQL SERVER 2008作為數(shù)據(jù)庫。下面就相關(guān)技術(shù)和運(yùn)行環(huán)境做簡單介

31、紹。</p><p>  第一節(jié) C#簡介及網(wǎng)絡(luò)編程技術(shù)</p><p><b>  (1) C#簡介</b></p><p>  C#(讀作C Sharp)是微軟公司發(fā)布的一種面向?qū)ο蟮摹⑦\(yùn)行于.NET Framework之上的高級程序設(shè)計(jì)語言, 是一種安全的、穩(wěn)定的、簡單的、優(yōu)雅的,由C和C++衍生出來的面向?qū)ο蟮木幊陶Z言。它在繼承C和C+

32、+強(qiáng)大功能的同時(shí)去掉了一些它們的復(fù)雜特性(例如沒有宏和模版,不允許多重繼承)。C#綜合了VB簡單的可視化操作和C++的高運(yùn)行效率,以其強(qiáng)大的操作能力、優(yōu)雅的語法風(fēng)格、創(chuàng)新的語言特性和便捷的面向組件編程的支持成為.NET開發(fā)的首選語言。</p><p>  C#看起來與Java有著驚人的相似;它包括了諸如單一繼承,界面,與Java幾乎同樣的語法,和編譯成中間代碼再運(yùn)行的過程.但是C#與Java有著明顯的不同,它借鑒

33、了Delphi的一個(gè)特點(diǎn),與COM(組件對象模型)是直接集成的, 而且它是微軟公司.NET windows網(wǎng)絡(luò)框架的主角。</p><p>  (2) WinForms窗體設(shè)計(jì)技術(shù)</p><p>  WinForm是.Net開發(fā)平臺中對Windows Form的一種稱謂。.Net 為開發(fā)WinForm的應(yīng)用程序提供了豐富的Class Library(類庫)。這些WinFrom類庫支持RA

34、D(快速應(yīng)用程序開發(fā)),這些類庫被封裝在一個(gè)名稱空間之中,這個(gè)名稱空間就是System.Windows.Forms。在此名稱空間中定義了許多類,在開發(fā)基于.Net的GUI應(yīng)用程序的時(shí)候,就是通過繼承和擴(kuò)展這些類才使得我們的程序有著多樣的用戶界面。</p><p>  (3) ADO.NET技術(shù)</p><p>  ADO.NET是一組用于和數(shù)據(jù)源進(jìn)行交互的面向?qū)ο箢悗?。通常情況下,數(shù)據(jù)源是

35、數(shù)據(jù)庫,但它同樣也能夠是文本文件、Excel表格或者XML文件。</p><p>  ADO.NET允許和不同類型的數(shù)據(jù)源以及數(shù)據(jù)庫進(jìn)行交互。然而并沒有與此相關(guān)的一系列類來完成這樣的工作。因?yàn)椴煌臄?shù)據(jù)源采用不同的協(xié)議,所以對于不同的數(shù)據(jù)源必須采用相應(yīng)的協(xié)議。一些老式的數(shù)據(jù)源使用ODBC協(xié)議,許多新的數(shù)據(jù)源使用OleDb協(xié)議,并且現(xiàn)在還不斷出現(xiàn)更多的數(shù)據(jù)源,這些數(shù)據(jù)源都可以通過.NET的ADO.NET類庫來進(jìn)行連

36、接。 </p><p>  ADO.NET提供與數(shù)據(jù)源進(jìn)行交互的相關(guān)的公共方法,但是對于不同的數(shù)據(jù)源采用一組不同的類庫。這些類庫稱為Data Providers,并且通常是以與之交互的協(xié)議和數(shù)據(jù)源的類型來命名的。然而無論使用什么樣的Data Provider,你將使用相似的對象與數(shù)據(jù)源進(jìn)行交互。SqlConnection對象管理與數(shù)據(jù)源的連接。SqlCommand對象允許你與數(shù)據(jù)源交流并發(fā)送命令給它。為了對進(jìn)行快

37、速的只“向前”地讀取數(shù)據(jù),使用SqlDataReader。如果想使用斷開數(shù)據(jù),使用DataSet并實(shí)現(xiàn)能進(jìn)行讀取或者寫入數(shù)據(jù)源的SqlDataAdapter。</p><p>  (4) Socket編程</p><p>  所謂Socket通常也稱作“套接字”,應(yīng)用程序通常通過“套接字”向網(wǎng)絡(luò)發(fā)出請求或者應(yīng)答網(wǎng)絡(luò)請求。根據(jù)連接啟動(dòng)的方式以及本地套接字要連接的目標(biāo),套接字之間的連接過程可以

38、分為三個(gè)步驟:服務(wù)器監(jiān)聽,客戶端請求,連接確認(rèn)。 </p><p>  服務(wù)器監(jiān)聽:是服務(wù)器端套接字并不定位具體的客戶端套接字,而是處于等待連接的狀態(tài),實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)狀態(tài)。 </p><p>  客戶端請求:是指由客戶端的套接字提出連接請求,要連接的目標(biāo)是服務(wù)器端的套接字。為此,客戶端的套接字必須首先描述它要連接的服務(wù)器的套接字,指出服務(wù)器端套接字的地址和端口號,然后就向服務(wù)器端套接字提出連

39、接請求。 </p><p>  連接確認(rèn):是指當(dāng)服務(wù)器端套接字監(jiān)聽到或者說接收到客戶端套接字的連接請求,它就響應(yīng)客戶端套接字的請求,建立一個(gè)新的線程,把服務(wù)器端套接字的描述發(fā)給客戶端,一旦客戶端確認(rèn)了此描述,連接就建立好了。而服務(wù)器端套接字繼續(xù)處于監(jiān)聽狀態(tài),繼續(xù)接收其他客戶端套接字的連接請求。</p><p>  (5) .NET 與多線程技術(shù)</p><p>  

40、多線程是為了使得多個(gè)線程并行的工作以完成多項(xiàng)任務(wù),以提高系統(tǒng)的效率。線程是在同一時(shí)間需要完成多項(xiàng)任務(wù)的時(shí)候被實(shí)現(xiàn)的。</p><p>  在本質(zhì)上和結(jié)構(gòu)來說,.NET是一個(gè)多線程的環(huán)境。有兩種主要的多線程方法是.NET所提倡的:使用ThreadStart來開始你自己的進(jìn)程,直接的 (使用ThreadPool.QueueUserWorkItem)或者間接的(比如Stream.BeginRead,或者調(diào)用 Begin

41、Invoke)使用ThreadPool類。線程的基類是System.Threading。所有線程通過CLI來進(jìn)行管理。</p><p>  第二節(jié) 數(shù)據(jù)庫技術(shù)概述</p><p>  數(shù)據(jù)庫技術(shù)是一門研究數(shù)據(jù)庫的結(jié)構(gòu)、存儲、管理和使用的軟件學(xué)科。數(shù)據(jù)庫技術(shù)是在操作系統(tǒng)的文件系統(tǒng)基礎(chǔ)上發(fā)展起來的,而數(shù)據(jù)庫管理系統(tǒng)(DBMS)本身要在操作系統(tǒng)的支持下才能工作。數(shù)據(jù)庫不僅用到數(shù)據(jù)結(jié)構(gòu)的知識,而且

42、豐富了數(shù)據(jù)結(jié)構(gòu)的內(nèi)容。在關(guān)系數(shù)據(jù)庫重要用到集合論、數(shù)理邏輯的理論。因此,數(shù)據(jù)庫技術(shù)是一門綜合性較強(qiáng)的學(xué)科。</p><p>  在數(shù)據(jù)庫技術(shù)中,我們用模型的概念描述數(shù)據(jù)庫的結(jié)構(gòu)與語義,對現(xiàn)實(shí)世界進(jìn)行抽象,表示實(shí)體類型及實(shí)體間聯(lián)系的模型稱為“數(shù)據(jù)模型”。目前廣泛使用的模型可以分為兩類:一種是獨(dú)立于計(jì)算機(jī)系統(tǒng)的模型,完全不涉及信息在系統(tǒng)中的表示,只是用來描述某個(gè)特定組織所關(guān)心的信息結(jié)構(gòu),這類模型稱為“概念模型”。&l

43、t;/p><p>  用戶對數(shù)據(jù)庫的使用。是通過數(shù)據(jù)庫管理系統(tǒng)所提供的語言來實(shí)現(xiàn)的。不同的數(shù)據(jù)庫管理系統(tǒng)提供不同的數(shù)據(jù)庫語言。關(guān)系數(shù)據(jù)庫管理系統(tǒng)幾乎都提供關(guān)系數(shù)據(jù)庫表追語言-SQL.</p><p>  SQL的全稱是Structured Query Language,即結(jié)構(gòu)化查詢語句.SQL語句可以從關(guān)系數(shù)據(jù)庫中獲得數(shù)據(jù),也可以建立數(shù)據(jù)庫、增加數(shù)據(jù)、修改數(shù)據(jù)。SQL語言是一種非過程化語言,它

44、一次處理一個(gè)記錄集合,對數(shù)據(jù)提供自動(dòng)導(dǎo)航。SQL語言允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而不對單個(gè)紀(jì)錄進(jìn)行操作。SQL語言部要求用戶指定數(shù)據(jù)的存取方法,而是使用查詢優(yōu)化器,由系統(tǒng)決定對指定數(shù)據(jù)存取的最快速手段。</p><p>  第三節(jié) SQL SERVER 2008數(shù)據(jù)庫概述</p><p>  SQL Server 2008 是一個(gè)全面的數(shù)據(jù)庫平臺,使用集成的商業(yè)智能 (BI) 工具提

45、供了企業(yè)級的數(shù)據(jù)管理。SQL Server 2008 數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲功能。此外 SQL Server 2008 結(jié)合了分析、報(bào)表、集成和通知功能。</p><p>  SQL Server 2008有助于簡化企業(yè)數(shù)據(jù)與分析應(yīng)用的創(chuàng)建、部署和管理,并在解決方案伸縮性、可用性和安全性方面實(shí)現(xiàn)重大改進(jìn)?;赟QL Server 2005技術(shù)優(yōu)勢構(gòu)建的SQL Server 200

46、8將提供集成化信息管理解決方案,可幫助任何規(guī)模的組織機(jī)構(gòu):</p><p>  創(chuàng)建并部署更具伸縮性、可靠性和安全性的企業(yè)級應(yīng)用。 </p><p>  降低數(shù)據(jù)庫應(yīng)用創(chuàng)建、部署與管理的復(fù)雜程度,進(jìn)而實(shí)現(xiàn)IT效率最大化。</p><p>  憑借可供創(chuàng)建更具安全保障之?dāng)?shù)據(jù)庫應(yīng)用的豐富、靈活、現(xiàn)代化開發(fā)環(huán)境增強(qiáng)開發(fā)人員工作效能。 </p><p&g

47、t;  跨越多種平臺、應(yīng)用和設(shè)備實(shí)現(xiàn)數(shù)據(jù)共享,進(jìn)而簡化內(nèi)部系統(tǒng)與外部系統(tǒng)連接。 </p><p>  實(shí)現(xiàn)功能強(qiáng)勁的集成化商務(wù)智能解決方案,從而在整個(gè)企業(yè)范圍內(nèi)推進(jìn)科學(xué)決策,提高工作效率。 </p><p>  在不必犧牲性能表現(xiàn)、可用性或伸縮性的前提下控制成本費(fèi)用水平。 </p><p><b>  第四節(jié) C/S架構(gòu)</b></p&g

48、t;<p>  C/S (Client/Server)結(jié)構(gòu),即大家熟知的客戶機(jī)和服務(wù)器結(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)用發(fā)展,Web和Client/Server 應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模

49、塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。</p><p>  C/S結(jié)構(gòu)是當(dāng)前數(shù)據(jù)庫應(yīng)用程序中極為流行的一種方式。尤其是網(wǎng)絡(luò)技術(shù)的發(fā)展,使得當(dāng)前很多系統(tǒng)都采用這種方式進(jìn)行構(gòu)造,其最大的優(yōu)點(diǎn)是將計(jì)算機(jī)工作任務(wù)分別由客戶端和服務(wù)器端來共同完成,這樣有利于充分合理的利用系統(tǒng)資源。另外它的服務(wù)器端還可以將信息集

50、中起來,任何客戶機(jī)都可以通過訪問服務(wù)器而獲得所需的信息。Client/Server模型最終可歸結(jié)為一種“請求/應(yīng)答”關(guān)系。一個(gè)請求總是首先被客戶發(fā)出,然后服務(wù)器總是被動(dòng)地接收請求,返回客戶需要的結(jié)果。在客戶發(fā)出一個(gè)請求之前,服務(wù)進(jìn)程一直處于休眠狀態(tài)。一個(gè)客戶提出請求后,服務(wù)進(jìn)程被“喚醒”并且為客戶提供服務(wù),對客戶的請求做出所需要的應(yīng)答,如圖2.1所示。</p><p>  圖2.1 客戶機(jī)/服務(wù)器通信結(jié)構(gòu)示圖&l

51、t;/p><p>  第三章 系統(tǒng)分析與需求分析</p><p>  第一節(jié) 系統(tǒng)可行性分析</p><p>  從具體情況出發(fā),經(jīng)過多方面調(diào)研、討論,將從技術(shù)可行性、經(jīng)濟(jì)可行性、運(yùn)行可行性三個(gè)方面來研究本系統(tǒng)的可行性。</p><p><b>  1技術(shù)可行性</b></p><p>  技術(shù)可行性

52、分析主要是根據(jù)系統(tǒng)分析所得到的對待開發(fā)的軟件、支撐軟件、硬件環(huán)境和操作人員的要求以及有關(guān)的約束和限制,來分析現(xiàn)有的技術(shù)是否能實(shí)現(xiàn)待開發(fā)的軟件。它包括可得到的硬件和支撐軟件在功能和性能上是否滿足系統(tǒng)的要求,是否有滿足系統(tǒng)性能要求的算法,開發(fā)人員的技術(shù)水平能否勝任系統(tǒng)的開發(fā)等等。</p><p>  本系統(tǒng)運(yùn)行基于Win2000/winXP以上的任何操作系統(tǒng),使用的前臺開發(fā)軟件是visual studio 2008,

53、后臺數(shù)據(jù)庫開發(fā)使用的是SQL SERVER 2008,其中visual studio 2008是目前最常用的編程工具,SQL2008也是較新的數(shù)據(jù)庫軟件,已經(jīng)被證明好用而且功能豐富,這些軟件已經(jīng)商品化,足以支持本課題開發(fā)。</p><p>  其次,本系統(tǒng)需要運(yùn)行在局域網(wǎng)環(huán)境中,學(xué)校的校園網(wǎng)建設(shè)以及多媒體教室計(jì)算機(jī)已經(jīng)搭建好的內(nèi)部網(wǎng)絡(luò)為軟件運(yùn)行提供了良好的環(huán)境。</p><p>  最后,

54、本系統(tǒng)開發(fā)是由本人完成的,本人已修完本專業(yè)所有的專業(yè)基礎(chǔ)課和專業(yè)課,熟悉數(shù)據(jù)的開發(fā)環(huán)境,有一定的運(yùn)用系統(tǒng)軟件和一定的編程能力,完全勝任此項(xiàng)開發(fā),故技術(shù)可行。</p><p><b>  2 經(jīng)濟(jì)可行性</b></p><p>  經(jīng)濟(jì)可行性首先要進(jìn)行待開發(fā)軟件的成本估計(jì)和成本效益分析,以確定待開發(fā)軟件是否有開發(fā)的價(jià)值。這里的效益包括系統(tǒng)的開發(fā)所帶來的收入的增加,以及新

55、開發(fā)的系統(tǒng)比原有的系統(tǒng)在使用費(fèi)用上的減少。對于開發(fā)成本低、經(jīng)濟(jì)效益高的軟件應(yīng)積極開發(fā),而對于開發(fā)成本高、經(jīng)濟(jì)效益低的軟件或開發(fā)成本與經(jīng)濟(jì)效益差不多的軟件通常不應(yīng)開發(fā)。</p><p>  本軟件的正常運(yùn)行需要一臺服務(wù)器,目前市場的主流服務(wù)器完全符合要求。并且學(xué)校多媒體控制室一般都配有服務(wù)器,在已有的服務(wù)器上運(yùn)行本軟件即可,基本不需要花費(fèi)費(fèi)用。</p><p><b>  3 運(yùn)行

56、可行性</b></p><p>  本系統(tǒng)為一個(gè)小型的局域網(wǎng)聊天與管理系統(tǒng),所耗費(fèi)的資源非常的小,現(xiàn)在一般的電腦無論是硬件還是軟件都能夠滿足條件,因此,本系統(tǒng)在運(yùn)行上是可行的。</p><p>  綜上所述,本系統(tǒng)的設(shè)計(jì)與開發(fā)在技術(shù)上和硬件設(shè)備上的條件都是滿足的,因此,它是可行的。</p><p><b>  第二節(jié) 需求分析</b>

57、;</p><p><b>  1 功能需求分析</b></p><p>  根據(jù)在學(xué)校電教中心的長期實(shí)習(xí)經(jīng)驗(yàn),可以很清楚的知道多媒體管理系統(tǒng)所需要實(shí)現(xiàn)的功能:可以實(shí)現(xiàn)局域網(wǎng)內(nèi)部通訊,可以實(shí)現(xiàn)對多媒體設(shè)備、保修等。所以本系統(tǒng)分為兩個(gè)模塊:</p><p>  通訊模塊:包括語音聊天、視頻聊天、遠(yuǎn)程協(xié)助、文件傳送等; </p>&l

58、t;p>  管理模塊:教室管理、資產(chǎn)管理、保修管理、統(tǒng)計(jì)查詢等。</p><p>  系統(tǒng)各項(xiàng)的功能如下:</p><p><b> ?。?)文字通訊</b></p><p>  主要實(shí)現(xiàn)教室與中控室間的信息交流。</p><p><b> ?。?)語音通訊</b></p>&l

59、t;p>  主要實(shí)現(xiàn)教室客戶機(jī)與中控室服務(wù)器之間的語音求助,可以通過局域網(wǎng)以及已有的計(jì)算機(jī)設(shè)備進(jìn)行求助。</p><p><b> ?。?)視頻通訊</b></p><p>  語音通訊的增強(qiáng)功能,可以調(diào)用本機(jī)攝像頭進(jìn)行視頻交流或者視頻會(huì)議。</p><p><b>  (4)文件傳送</b></p>

60、<p>  主要實(shí)現(xiàn)有部分老師要安裝特殊軟件,需要先到中控室進(jìn)行殺毒、登記,然后可以通過本系統(tǒng)傳送到需要安裝教室。</p><p><b> ?。?)遠(yuǎn)程協(xié)助</b></p><p>  主要實(shí)現(xiàn)教室與服務(wù)器之間的屏幕交流。若是教室計(jì)算機(jī)出現(xiàn)問題,如果可以通過遠(yuǎn)程協(xié)助解決,則不需要管理員去教室查看即可提供服務(wù)。</p><p><

61、;b> ?。?)廣播功能</b></p><p>  主要實(shí)現(xiàn)服務(wù)器向所有在線教室進(jìn)行消息傳遞,可以廣播一些通知。</p><p><b> ?。?)教室信息管理</b></p><p>  主要實(shí)現(xiàn)添加教室信息(包括:編號、教室名稱、教室類型、教室所在區(qū)、教室使用狀態(tài)和教室容量)查詢某個(gè)教室使用信息、修改及刪除信息,還包括查

62、詢空教室等。</p><p><b> ?。?)設(shè)備信息管理</b></p><p>  主要實(shí)現(xiàn)對多媒體教室各個(gè)設(shè)備的管理,比如投影儀設(shè)備,可以記錄其開始使用時(shí)間,燈泡已經(jīng)使用時(shí)長,用時(shí)過長會(huì)導(dǎo)致教室屏幕不清晰,需要及時(shí)更換。</p><p><b> ?。?)設(shè)備保修管理</b></p><p>

63、;  主要實(shí)現(xiàn)對所有多媒體設(shè)備的保修功能,可以通過網(wǎng)絡(luò)進(jìn)行設(shè)備保修,這樣不但方便快捷,還能留下保修記錄供以后查詢。</p><p><b> ?。?0)統(tǒng)計(jì)查詢</b></p><p>  查詢一段時(shí)間的設(shè)備、保修等信息,方便管理員統(tǒng)計(jì)。</p><p><b>  2 性能需求</b></p><p&

64、gt;  本網(wǎng)站的性能需求如下:</p><p> ?。?)界面友好性要求:系統(tǒng)提供統(tǒng)一的操作界面和方式:操作界面簡潔大方、布局合理、功能完善、對于初級用戶容易上手;</p><p>  (2)信息的完整性:要求采用值約束、缺省等方法確保信息的完整性,一旦用戶錄入數(shù)據(jù)不符合系統(tǒng)要求時(shí),系統(tǒng)必須明確給出警告信息;</p><p> ?。?)系統(tǒng)運(yùn)行在主流的Window

65、s操作系統(tǒng)平臺上,便于以后系統(tǒng)的升級;</p><p>  (4)遵循主流的標(biāo)準(zhǔn)和協(xié)議,不僅可以為系統(tǒng)與上級平臺系統(tǒng)交換信息提供便利,而且也有利于系統(tǒng)內(nèi)部各部分之間交換信息,這將有助于提高系統(tǒng)擴(kuò)充性。響應(yīng)速度:要求能夠響應(yīng)快速,響應(yīng)速度盡量在人員可忍受的時(shí)間內(nèi)并給予提示。</p><p><b>  第三節(jié) 數(shù)據(jù)流程圖</b></p><p>

66、  數(shù)據(jù)流程圖是描述系統(tǒng)數(shù)據(jù)流程的工具,它將數(shù)據(jù)獨(dú)立抽象出來,通過圖形方式描述信息的來龍去脈和實(shí)際流程。</p><p>  為了描述復(fù)雜的軟件系統(tǒng)的信息流向和加工,可采用分層的DFD來描述,分層DFD有頂層,中間層、底層之分。 </p><p> ?。?)頂層。決定系統(tǒng)的范圍,決定輸入輸出數(shù)據(jù)流,它說明系統(tǒng)的邊界,把整個(gè)系統(tǒng)的功能抽象為一個(gè)加工,頂層DFD只有一張。 </p>

67、<p>  (2)中間層。頂層之下是若干中間層,某一中間層既是它上一層加工的分解結(jié)果,又是它下一層若干加工的抽象,即它又可進(jìn)一步分解。 </p><p> ?。?)底層。若一張DFD的加工不能進(jìn)一步分解,這張DFD就是底層的了。底層DFD的加工是由基本加工構(gòu)成的,所謂基本加工是指不能再進(jìn)行分解的加工。</p><p>  本系統(tǒng)共分為兩大模塊,其中,通訊模塊負(fù)責(zé)整個(gè)系統(tǒng)的局域

68、網(wǎng)內(nèi)通訊,分為單聊和廣播,單聊可以是服務(wù)器選擇教室,也可以是教室向服務(wù)器求助,單聊采用TCP通訊,連接成功后,可以進(jìn)行文字、文件、語音、視頻通訊以及遠(yuǎn)程協(xié)助管理;廣播消息主要是服務(wù)器端向所有用戶發(fā)送通知、公告等。同時(shí),所有聊天記錄都可以以TXT文本文件格式保存下來。此外,系統(tǒng)還包括一些常用工具,比如屏幕錄制、屏幕保護(hù)、屏幕截圖等,可以輔助聊天功能,進(jìn)行遠(yuǎn)程支持描述,界面鎖定功能,可以鎖定界面,更加安全。流程圖如圖3.1:</p&g

69、t;<p>  圖3.1 通訊系統(tǒng)流程圖</p><p>  管理模塊主要負(fù)責(zé)信息的管理,實(shí)際是對數(shù)據(jù)庫進(jìn)行操作,流程圖見圖3.2。</p><p><b>  第四節(jié) E-R圖</b></p><p>  E-R模型的關(guān)鍵元素是實(shí)體、屬性和聯(lián)系。實(shí)體是可以從用戶的工作環(huán)境中標(biāo)識出的事物,是用戶想要跟蹤的某個(gè)事物。實(shí)體在E-R圖中

70、,用矩形表示,矩形框內(nèi)寫明實(shí)體名。實(shí)體具有屬性,有時(shí)也稱作性質(zhì),是用來描述實(shí)體的特征的。屬性可以是組合的或者多值的。</p><p>  該系統(tǒng)有3個(gè)實(shí)體,分別為:教室信息、設(shè)備信息、報(bào)修信息。</p><p>  圖3.2 通訊系統(tǒng)流程圖</p><p><b> ?、?教室信息</b></p><p>  教室的屬性

71、包括:編號、教室名稱、教室類型、教室所在區(qū)、教室使用狀態(tài)和教室容量。</p><p>  圖3.3 教室實(shí)體屬性圖</p><p><b>  ⑵ 設(shè)備信息</b></p><p>  設(shè)備的屬性包括設(shè)備編號、設(shè)備名稱、所在教室名稱、已使用時(shí)長、購買安裝日期、備注。實(shí)體屬性圖如3.5所示。</p><p>  圖3.4

72、設(shè)備信息屬性圖</p><p><b> ?、?報(bào)修信息</b></p><p>  報(bào)修的屬性包括設(shè)備名稱、所在教室名稱、報(bào)修人姓名、損壞原因、損壞日期、備注。實(shí)體屬性圖如3.6所示。</p><p>  圖3.5 報(bào)修實(shí)體屬性圖</p><p>  第四章 系統(tǒng)概要設(shè)計(jì)</p><p>  經(jīng)

73、過需求分析之后,進(jìn)入系統(tǒng)設(shè)計(jì)階段,系統(tǒng)設(shè)計(jì)又稱總體設(shè)計(jì)或初步設(shè)計(jì),根據(jù)需求分析階段的工作,系統(tǒng)“做什么”已經(jīng)清楚,現(xiàn)在是決定“怎樣做”的時(shí)候了,同時(shí)確定系統(tǒng)中每個(gè)程序由哪些模塊組成及其相互關(guān)系。</p><p>  第一節(jié) 系統(tǒng)總體設(shè)計(jì)</p><p>  本系統(tǒng)主要實(shí)現(xiàn)多媒體教室的網(wǎng)絡(luò)化管理,主要分為兩大部分功能:一是多媒體教室與控制室之間的通訊交流,一是網(wǎng)絡(luò)化的多媒體教室信息采集與管理

74、。其中,通訊管理模塊的系統(tǒng)功能圖如圖4.1:</p><p>  圖4.1 通訊部分功能模塊圖</p><p><b> ?。?)文字聊天模塊</b></p><p>  主要實(shí)現(xiàn)客戶實(shí)現(xiàn)多媒體教室與服務(wù)器之間的文字通訊;</p><p><b>  (2)語音聊天模塊</b></p>

75、<p>  主要實(shí)現(xiàn)多媒體教室向中控室的IP語音請求;</p><p><b> ?。?)視頻聊天模塊</b></p><p>  主要實(shí)現(xiàn)多媒體教室與中控室之間的視頻請求;</p><p><b> ?。?)文件傳送模塊</b></p><p>  主要實(shí)現(xiàn)服務(wù)器向各教室傳送軟件等文件

76、;</p><p><b> ?。?)遠(yuǎn)程協(xié)助模塊</b></p><p>  主要實(shí)現(xiàn)多媒體控制室對教室進(jìn)行遠(yuǎn)程控制,協(xié)助解決問題;</p><p><b> ?。?)廣播消息模塊</b></p><p>  主要實(shí)現(xiàn)控制室向所有在線教室發(fā)送廣播消息;</p><p>&l

77、t;b> ?。?)系統(tǒng)設(shè)置</b></p><p>  主要實(shí)現(xiàn)教室名稱設(shè)置、是否保留聊天記錄、是否開機(jī)啟動(dòng)等常用設(shè)置。</p><p>  教室信息管理模塊圖如下:</p><p>  圖4.2 信息管理部分功能模塊圖</p><p><b>  具體描述如下:</b></p><

78、p>  1、教室信息管理模塊</p><p> ?。?)新增多媒體教室信息,包括編號、教室名稱、教室類型、教室所在區(qū)、教室使用狀態(tài)和教室容量;</p><p> ?。?)查詢、修改多媒體機(jī)房信息;</p><p> ?。?)刪除多媒體機(jī)房信息。</p><p>  2、設(shè)備信息管理模塊</p><p> ?。?)

79、新增教室設(shè)備,包括設(shè)備編號、設(shè)備名稱、所在教室名稱、已使用時(shí)長、購買安裝日期、備注;</p><p>  (2)查詢、修改教室設(shè)備;</p><p> ?。?)刪除教室設(shè)備。</p><p><b>  3、報(bào)修管理模塊</b></p><p>  (1)新增報(bào)修單,包括設(shè)備名稱、所在教室名稱、報(bào)修日期、損壞原因、報(bào)修人

80、姓名、備注;</p><p>  (2)查詢、修改報(bào)修信息;</p><p> ?。?)刪除報(bào)修信息。</p><p><b>  4、空教室查詢</b></p><p>  實(shí)用功能,查詢現(xiàn)在可以實(shí)用的空教室。</p><p>  5、統(tǒng)計(jì)信息管理模塊</p><p> 

81、 查詢一段時(shí)間內(nèi)的教室、資產(chǎn)、報(bào)修信息。</p><p><b>  第二節(jié) 數(shù)據(jù)庫設(shè)計(jì)</b></p><p>  本系統(tǒng)聊天模塊沒有實(shí)用數(shù)據(jù)庫,教室管理模塊使用了三個(gè)表,分別為教室信息表、設(shè)備信息表、報(bào)修表。</p><p>  【教室信息】數(shù)據(jù)表用于存儲教室的基本信息。數(shù)據(jù)表結(jié)構(gòu)設(shè)計(jì)見表4.1:</p><p> 

82、 表4.1 教室信息表 (Roomsinfo)</p><p>  【設(shè)備信息】數(shù)據(jù)表用于存儲教室設(shè)備的基本信息。數(shù)據(jù)表結(jié)構(gòu)設(shè)計(jì)見表</p><p>  表4.2 設(shè)備信息表(Device)</p><p>  【報(bào)修信息】數(shù)據(jù)表用于存儲報(bào)修記錄。數(shù)據(jù)表結(jié)構(gòu)設(shè)計(jì)見表4-3所示:</p><p>  表4.3 報(bào)修信息表(Break)</

83、p><p>  第五章 系統(tǒng)詳細(xì)設(shè)計(jì)</p><p>  第一節(jié) 項(xiàng)目功能具體實(shí)現(xiàn)</p><p><b>  1連接建立模塊</b></p><p>  程序打開后,會(huì)首先會(huì)啟動(dòng)廣播線程,把自己上線的消息廣播給所有局域網(wǎng)內(nèi)用戶。廣播函數(shù)為:</p><p>  private void Broadc

84、astOwn(Object obj)</p><p><b>  {</b></p><p>  UdpClient sendClient = new dpClient(AddressFamily.InterNetwork);</p><p>  sendClient.Ttl = 200;</p><p>  IPEnd

85、Point iep = new IPEndPoint(broderCastIp, sendPort);</p><p>  Byte[] bs = FileOperate.Serialize(obj);</p><p><b>  try</b></p><p><b>  {</b></p><p&g

86、t;  sendClient.Send(bs, bs.Length, iep);</p><p><b>  }</b></p><p><b>  catch </b></p><p><b>  {</b></p><p>  MessageBox.Show("組

87、播自己的信息失敗!");</p><p><b>  }</b></p><p><b>  finally</b></p><p><b>  {</b></p><p>  sendClient.Close();</p><p><b

88、>  }</b></p><p><b>  }</b></p><p>  廣播自己的消息后,即開始監(jiān)聽,監(jiān)聽線程如下:</p><p>  public void StartListenerThread()</p><p><b>  {</b></p><

89、p>  Thread receiveThread = new Thread(ResolveUser);</p><p>  receiveThread.IsBackground = true;</p><p>  receiveThread.Start();//開啟 TCP監(jiān)聽</p><p>  NetManager.listenerPort = NetMa

90、nager.GetAvailablePort();</p><p>  this.formManager.UserOwn.ListenerPort = NetManager.listenerPort;</p><p>  this.formManager.UserOwn.Ip = NetManager.GetHostIP().ToString();</p><p>

91、  myServer = new MyServer(listenerPort, this.formManager);</p><p>  myServer.StartListen();</p><p><b>  }</b></p><p><b>  2文本聊天模塊</b></p><p>  文

92、本聊天是所有通訊系統(tǒng)的基礎(chǔ)功能,通過文本聊天,局域網(wǎng)內(nèi)用戶能夠發(fā)送和接收文字信息,并在程序窗體上顯示出來,相互之間進(jìn)行在線交流,并能根據(jù)用戶需要,對聊天記錄進(jìn)行簡單的保存。文本聊天的信息傳輸協(xié)議主要有面向連接的TCP和無連接的UDP。TCP協(xié)議是互聯(lián)網(wǎng)中最重的協(xié)議之一,主要特點(diǎn)是:保證數(shù)據(jù)包的準(zhǔn)確到達(dá);保證各數(shù)據(jù)包到達(dá)的順序和數(shù)據(jù)包發(fā)出的順序相同。UDP協(xié)議提供了快速但不一定可靠的傳輸服務(wù),但UDP可以傳送廣播消息。所以,在文本聊天模塊

93、中,采用TCP協(xié)議來傳輸點(diǎn)對點(diǎn)文本信息,采用UDP協(xié)議來傳輸廣播信息。</p><p> ?。?)私聊發(fā)送文本消息</p><p><b>  發(fā)送按鈕代碼:</b></p><p>  private void tsbSend_ButtonClick(object sender, EventArgs e)</p><p&g

94、t;<b>  {</b></p><p>  if (rtbWrite.Text == "")</p><p><b>  return;</b></p><p><b>  try</b></p><p><b>  {</b>&l

95、t;/p><p>  string rtf = Tool.GetRtfString(this.formManager.UserOwn.Name + " " + DateTime.Now.ToLongTimeString(), Tool.Font, Color.DarkGray);</p><p>  AddRtfByClipboard(rtf);</p>&

96、lt;p>  AddRtfByClipboard(rtbWrite.Rtf);</p><p>  NetManager.SendStringMsgToServer(userClient, "TalkContent");</p><p>  NetManager.SendStringMsgToServer(userClient, rtbWrite.Rtf);<

97、;/p><p>  this.rtbWrite.Clear();</p><p>  this.rtbWrite.Focus();</p><p><b>  }</b></p><p>  catch (Exception)</p><p><b>  {</b></p&

98、gt;<p>  this.rtbWrite.Clear();</p><p>  this.rtbWrite.Focus();</p><p>  this.Text = "對方不在線";</p><p><b>  }</b></p><p><b>  }</b&g

99、t;</p><p>  其中,NetManager 類中用于發(fā)送文本和字節(jié)的函數(shù)為:</p><p>  public static bool SendStringMsgToServer(UserClient userClient, string msg)</p><p><b>  {</b></p><p><

100、;b>  try</b></p><p><b>  {</b></p><p>  userClient.Bw.Write(msg);</p><p>  userClient.Bw.Flush();</p><p>  return true;</p><p><b&g

101、t;  }</b></p><p>  catch (Exception)</p><p><b>  {</b></p><p>  return false;</p><p><b>  }</b></p><p><b>  }</b>

102、</p><p>  public static bool SendBytesMsgToServer(UserClient userClient, byte[] bs)</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {<

103、;/b></p><p>  userClient.Bw.Write(bs.Length);</p><p>  userClient.Bw.Write(bs);</p><p>  userClient.Bw.Flush();</p><p>  return true;</p><p><b>  

104、}</b></p><p>  catch (Exception)</p><p><b>  {</b></p><p>  return false;</p><p><b>  }</b></p><p><b>  }</b><

105、/p><p>  userClient類中函數(shù)為</p><p>  public UserClient(TcpClient tcpClient)</p><p><b>  {</b></p><p>  this.TcpClient = tcpClient;</p><p>  NetworkSt

106、ream ns = tcpClient.GetStream();</p><p>  Br = new BinaryReader(ns);</p><p>  Bw = new BinaryWriter(ns);</p><p><b>  }</b></p><p><b>  3 文件傳送模塊</b&

107、gt;</p><p>  開啟窗體后,接收端執(zhí)行監(jiān)聽線程。當(dāng)接收到客戶發(fā)起的文件傳入請求后,彈出消息提示對話框,提示用戶對請求進(jìn)行處理,同意或者拒絕接收。若同意接收,則彈出文件保存對話框,用戶選擇文件保存路徑并確認(rèn)后,發(fā)送接收信號給文件發(fā)送端,啟動(dòng)計(jì)時(shí)器開始接收文件流,將遠(yuǎn)程文件保存在本地,并在文件傳輸過程中對文件傳輸狀態(tài)進(jìn)行反饋,文件接收完畢后,關(guān)閉計(jì)時(shí)器,關(guān)閉文件流,并在狀態(tài)欄上顯示出完畢狀態(tài)。若拒絕接收,

108、則向發(fā)送端返回拒絕信號,繼續(xù)執(zhí)行監(jiān)聽線程,等待下一次的文件傳入請求。</p><p>  文件傳輸具體代碼: </p><p>  private void FileSend()</p><p><b>  {</b></p><p><b>  try</b></p>&l

109、t;p><b>  {</b></p><p>  int bufferLen = 1024 * 1024;//定義1Mb的發(fā)送緩沖區(qū)</p><p>  byte[] buffer = new byte[bufferLen];</p><p>  int readLen = 0;</p><p>  System

110、.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch();</p><p>  watch.Start();</p><p>  while ((readLen = fs.Read(buffer, 0, bufferLen)) != 0)</p><p><b>  {</b&

111、gt;</p><p>  userClient.Bw.Write(readLen);</p><p>  userClient.Bw.Write(buffer, 0, readLen);</p><p>  userClient.Bw.Flush(); //改變發(fā)送進(jìn)度條的進(jìn)度</p><p>  this.HandleSysncContr

112、l(tspb, "UpdateProgressRate", readLen.ToString());</p><p><b>  }</b></p><p>  watch.Stop();</p><p>  long useTimeMS = watch.ElapsedMilliseconds;</p><

113、;p>  long useTimeS = useTimeMS / 1000;</p><p>  long useTimeMin = useTimeS / 60;</p><p>  string useTimeStr = "";</p><p>  if (useTimeMin >= 1)</p><p> 

114、 useTimeStr = useTimeMin + "分";</p><p>  else if (useTimeS >= 1)</p><p>  useTimeStr = useTimeS + "秒";</p><p><b>  else</b></p><p>  

115、useTimeStr = useTimeMS + "毫秒";</p><p>  double speedKB = (1.0 * this.fs.Length / 1024) / (useTimeMS / 1000);// KB/S表示</p><p>  double speedMB = 1.0 * speedKB / 1024;// MB/S表示</p&

116、gt;<p>  string speedStr = "";</p><p>  if (speedMB >= 1.0)</p><p>  speedStr = string.Format("{0:0.##}MB/S", speedMB);</p><p><b>  else</b>

117、;</p><p>  speedStr = (int)speedKB + "";</p><p>  string waringInfo = "文件[" + this.fileName + "]傳送完畢,用時(shí):" + useTimeStr + ",平均傳送速度:" + speedStr;</p>

118、<p>  this.formChatToOne.AddWaringInfoToRtContent(waringInfo); //提示文件成功發(fā)送 </p><p><b>  }</b></p><p>  catch (Exception ee)</p><p><b>  {</b></p>

119、;<p>  MessageBox.Show("文件傳送異常: " + ee.Message);</p><p><b>  }</b></p><p><b>  finally</b></p><p><b>  {</b></p><p>

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論