【正文】
摘 要當(dāng)今社會(huì)信息技術(shù)的進(jìn)步對(duì)社會(huì)的發(fā)展產(chǎn)生極其巨大的影響,其影響波及到社會(huì)的各個(gè)領(lǐng)域,促使了知識(shí)經(jīng)濟(jì)的崛起,世界文化的交匯,各國(guó)政治的公開(kāi)和進(jìn)一步的民主化。信息技術(shù)在迅速改變社會(huì)的同時(shí),也給教育以更大的發(fā)展空間。通信技術(shù)、計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)是信息技術(shù)的核心,它們?yōu)榻逃蛯W(xué)習(xí)突破時(shí)空的限制,為教育大眾化的同時(shí)更加個(gè)別化和個(gè)性化提供了日益先進(jìn)的技術(shù)支撐[1]。視頻傳輸在遠(yuǎn)程教育中有著舉足輕重的地位,搭建起的視頻傳輸平臺(tái)才能給予與老師“面對(duì)面”交互式溝通的學(xué)習(xí)機(jī)會(huì)。本系統(tǒng)就是著重開(kāi)發(fā)視頻以及桌面的點(diǎn)對(duì)點(diǎn)傳輸和多播傳輸。通過(guò)多種網(wǎng)絡(luò)協(xié)議,實(shí)現(xiàn)視頻數(shù)據(jù)的傳輸,使得通信雙方可是獲得實(shí)時(shí)的信息。關(guān)鍵詞:遠(yuǎn)程教學(xué)系統(tǒng),遠(yuǎn)程教學(xué)視頻系統(tǒng),C,.NET,UDP,RTP,TAPI3ABSTRACTInformation technology in today39。s society the progress of social development to have an extremely great impact, its influence is felt in all areas of society to promote the rise of the knowledge economy, the world39。s cultural crossroads, the political openness and further democratization. Information technology in the rapidly changing society, but also to education to a greater space for development. Communication technology, puter technology and network technology is the core of information technology, they provide education and learning breakthroughs in space and time limitations, for popular education at the same time more individualized and personalized to provide the increasingly sophisticated technical support .Video transmission in distance education has a pivotal position, build a platform for the video transmission can be given with the teacher facetoface munication between the interactive learning opportunities. Focus on the development of this system is pointtopoint desktop video, and transmission and multicast transmission. Through a variety of network protocols, video data transmission, making munications both realtime information access, however.Keywords: distance learning system, distance learning video system, C ,. NET, UDP, RTP, TAPI3目錄1.課題的研究背景與目的 1 1 2 22系統(tǒng)相關(guān)技術(shù)簡(jiǎn)介 3 3 .NET基本概念簡(jiǎn)介 3 .NET基類庫(kù) 6 6 8 TCP/IP體系結(jié)構(gòu) 8 9 9 10 Socket 11 TAPI:電話應(yīng)用程序接口 113系統(tǒng)的設(shè)計(jì) 13 13 13 14 15 154系統(tǒng)簡(jiǎn)介 17 17 17 17 18 教師端軟件 18 學(xué)生端軟件 21 服務(wù)器端軟件 225詳細(xì)實(shí)現(xiàn) 23 23 IP數(shù)據(jù)子系統(tǒng) 23 28 38 47 視頻錄制程序 505結(jié)束語(yǔ) 54參考文獻(xiàn) 55致 謝 561.課題的研究背景與目的眾所周知,當(dāng)今社會(huì)是一個(gè)知識(shí)空前繁榮的社會(huì),信息以爆炸形式在遞增。據(jù)聯(lián)合國(guó)教科文組織的統(tǒng)計(jì),人類近100年掌握的科學(xué)知識(shí),占有史以來(lái)積累的科學(xué)知識(shí)總量的90%,人類的知識(shí)在19世紀(jì)是每50年增長(zhǎng),倍,20世紀(jì)初是每10。年增長(zhǎng)一倍,而近10年則是大約每3年增長(zhǎng)尸倍。在該組織一篇著名的研究報(bào)告中指出,人類已進(jìn)入到一個(gè)終身學(xué)習(xí)的社會(huì)。對(duì)每個(gè)人來(lái)說(shuō),包括大學(xué)在內(nèi)的學(xué)校教育完成以后,仍不能滿足現(xiàn)實(shí)生活,工作的需要,仍然需要繼續(xù)學(xué)習(xí)[2]。我國(guó)最早在微電子領(lǐng)域進(jìn)行研究的專家王芹生說(shuō):“世界變化太快了,我一直在學(xué)習(xí)新的知識(shí)。相信未來(lái)更是一個(gè)需要不斷學(xué)習(xí)的世界?!边@種學(xué)習(xí)不完全局限于學(xué)校的范圍之內(nèi),在學(xué)校之外通過(guò)家庭、社會(huì)、工作崗位以及生活的各方面的體驗(yàn),都是學(xué)習(xí),都是獲得知識(shí)的途徑。學(xué)習(xí)將成為伴隨人的一生的不間斷的活動(dòng),成為發(fā)展的基礎(chǔ)。因此,終身學(xué)習(xí)和終身教育的概念被越來(lái)越多的人所接受,迅速增長(zhǎng)的學(xué)習(xí)需求與匱乏的教育資源之間的矛盾日益尖銳,單靠傳統(tǒng)的教育機(jī)構(gòu)是不可能滿足如此之巨:的學(xué)習(xí)需求。這就要求家庭、社會(huì),教育部門(mén)以及非教育部門(mén)都要能提供學(xué)習(xí)機(jī)會(huì),并參與教育活動(dòng),也就是要構(gòu)建一個(gè)學(xué)習(xí)化的社會(huì),使人們能夠在任何時(shí)刻都能自由地進(jìn)行學(xué)習(xí)。但是,傳統(tǒng)的教育受時(shí)間、空間和人力、物力酌限制,難以達(dá)到學(xué)習(xí)化社會(huì)的要求。美國(guó)人杜拉克說(shuō):“對(duì)學(xué)習(xí)者來(lái)說(shuō),傳統(tǒng)的學(xué)校學(xué)習(xí)方式也不適合他們,他們不可能經(jīng)常拋下自己的工作和家庭回學(xué)校集中學(xué)習(xí)。他們需要更方便、更靈活的學(xué)習(xí)方式;”而網(wǎng)絡(luò)遠(yuǎn)程教育正提供了這樣的好機(jī)會(huì)。網(wǎng)絡(luò)遠(yuǎn)程教育不受時(shí)間、空間和地域的限制,通過(guò)網(wǎng)絡(luò)能把學(xué)校擴(kuò)展到辦公室、家庭甚至全社會(huì)的每一個(gè)角落,工作與學(xué)習(xí)相融合。通過(guò)網(wǎng)絡(luò),每個(gè)人都可以自主選擇在何時(shí)何地學(xué)習(xí)。那些已有工作崗位無(wú)法進(jìn)行脫產(chǎn)學(xué)習(xí)的成人,就有條件和機(jī)會(huì)接受各種層次的教育。 現(xiàn)代遠(yuǎn)程教育是通過(guò)音頻、視頻(直播或錄像)以及包括實(shí)時(shí)和非實(shí)時(shí)在內(nèi)的計(jì)算機(jī)技術(shù)把課程傳送到校園外的教育,遠(yuǎn)程教育是隨著現(xiàn)代信息技術(shù)的發(fā)展而產(chǎn)生的一種新型教育方式。計(jì)算機(jī)技術(shù)、多媒體技術(shù)、通信技術(shù)的發(fā)展,特別是因特網(wǎng)(internet)的迅猛發(fā)展,使遠(yuǎn)程教育的手段有了質(zhì)的飛躍,成為高新技術(shù)條件下的遠(yuǎn)程教育,此平臺(tái)能給予與老師“面對(duì)面”交互式溝通的學(xué)習(xí)機(jī)會(huì)正是設(shè)計(jì)該系統(tǒng)的目的。本系統(tǒng)的研究目標(biāo)是使用Microsoft VisualStudio 2008開(kāi)發(fā)工具,開(kāi)發(fā)一個(gè)基于C語(yǔ)言的遠(yuǎn)程教育視頻系統(tǒng)。通過(guò)綜合運(yùn)用數(shù)據(jù)庫(kù)原理、網(wǎng)絡(luò)通信原理、軟件工程、程序設(shè)計(jì)等相關(guān)知識(shí),深入遠(yuǎn)程教育視頻系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)過(guò)程,掌握更多的數(shù)據(jù)庫(kù)應(yīng)用、視頻傳送和網(wǎng)絡(luò)傳輸?shù)闹R(shí),使系統(tǒng)實(shí)現(xiàn)下列功能:(1)受教育者可以通過(guò)身份認(rèn)證登陸網(wǎng)站下載視頻軟件或在線觀看視頻。(2)視頻軟件可以進(jìn)行P2P視頻語(yǔ)音的傳輸,視頻的多點(diǎn)傳輸。(3)教師可以通過(guò)身份認(rèn)證登陸網(wǎng)站進(jìn)行視頻的錄制和發(fā)布。(4)系統(tǒng)管理員擁有最高權(quán)限,可查閱和編輯所有數(shù)據(jù),包括登陸信息數(shù)據(jù)庫(kù)和視頻發(fā)布信息數(shù)據(jù)庫(kù)。2系統(tǒng)相關(guān)技術(shù)簡(jiǎn)介深入千家萬(wàn)戶,還有因特網(wǎng)的不斷普及,人們的生活方式發(fā)生了翻天覆地的變化。通過(guò)一方神奇的小小屏幕,就可以滿足我們的娛樂(lè),學(xué)習(xí),工作,購(gòu)物等各種功能。而隨著全球科技浪潮和知識(shí)的加速翻新,人們開(kāi)始利用網(wǎng)絡(luò)的便捷來(lái)學(xué)習(xí)新知識(shí),并把這看成一種時(shí)尚。經(jīng)過(guò)數(shù)年的迅猛發(fā)展,如今的網(wǎng)絡(luò)教育已日趨成熟,成為了現(xiàn)代教育的標(biāo)志,并廣泛融入到教育的各個(gè)環(huán)節(jié)中。遠(yuǎn)程教育系統(tǒng)采用Access數(shù)據(jù)庫(kù),應(yīng)用C。該系統(tǒng)實(shí)現(xiàn)的主要功能有:(1)學(xué)生用戶和教師用戶可在教學(xué)過(guò)程中通過(guò)點(diǎn)對(duì)點(diǎn)的視頻軟件進(jìn)行溝通。(2) 教師用戶可以通過(guò)視頻錄制軟件錄制視頻,并將視頻發(fā)布到網(wǎng)站上。(3)教師用戶可以通過(guò)多播軟件,進(jìn)行視頻、桌面和白板的多播。(4) 學(xué)生用戶和教師用戶可以登陸網(wǎng)站在論壇中發(fā)表主題,查看內(nèi)容,回復(fù)信息。本文對(duì)該系統(tǒng)需要的功能進(jìn)行了比較完善的分析和研究,開(kāi)發(fā)的軟件很好的實(shí)現(xiàn)了系統(tǒng)的功能。該系統(tǒng)的開(kāi)發(fā)是在Microsoft VisualStudio 2008軟件的編程環(huán)境下實(shí)現(xiàn),數(shù)據(jù)庫(kù)系統(tǒng)Access軟件實(shí)現(xiàn)。 .NET基本概念簡(jiǎn)介.NET是微軟公司針對(duì)Web Service的解決方案。其他公司也有類似的解決方案,例如Sun的Sun ONE, IBM的下一版本W(wǎng)ebSphere[3]。 ,有著各種各樣的說(shuō)法。但當(dāng)時(shí)作為首席執(zhí)行官的鮑爾默應(yīng)該最能代表微軟公司的觀點(diǎn),他說(shuō):“ 代表了一個(gè)集合、一個(gè)環(huán)境、一個(gè)可以作為平臺(tái)支持下一代Internet的可編程結(jié)構(gòu)?!贝_實(shí)。 .NET是在互聯(lián)網(wǎng)環(huán)境中,連接各種信息、人員、系統(tǒng)與設(shè)備的軟件架構(gòu)。.NET的最終目的就是讓用戶在任何地方、任何時(shí)間,以及利用任何設(shè)備都能訪問(wèn)他們所需要的信息、文件和程序。而用戶不需要知道這些東西存在什么地方,甚至連如何獲得等具體細(xì)節(jié)都不知道。他們只需發(fā)出請(qǐng)求,然后只管接收就是了,而所有后臺(tái)的復(fù)雜性是完全屏蔽起來(lái)的。所以對(duì)于企業(yè)的IT人員來(lái)說(shuō),他們也不需要管理復(fù)雜的平臺(tái)以及各種分布應(yīng)用之間的工作是如何協(xié)調(diào)的。Microsoft VisualStudio .NET ,主要用來(lái)創(chuàng)建Windows項(xiàng)目和Web應(yīng)用程序。Visual Studio.NET 是一套完整的開(kāi)發(fā)工具,用于生成 ASP Web 應(yīng)用程序、XML Web services、桌面應(yīng)用程序和移動(dòng)應(yīng)用程序。Visual Basic.NET、Visual C++.NET、Visual C.NET 和 Visual J.NET 全都使用相同的集成開(kāi)發(fā)環(huán)境 (IDE),該環(huán)境允許它們共享工具并有助于創(chuàng)建混合語(yǔ)言解決方案。另外,這些語(yǔ)言利用了 .NET Framework 的功能,此框架提供對(duì)簡(jiǎn)化 ASP Web 應(yīng)用程序和 XML Web services 開(kāi)發(fā)的關(guān)鍵技術(shù)的訪問(wèn)。 Framework最簡(jiǎn)單的方式是把它看作是執(zhí)行代碼的環(huán)境。.NET管理代碼的執(zhí)行——啟動(dòng)代碼、給它賦予相應(yīng)的權(quán)限、為它分配內(nèi)存以存儲(chǔ)其數(shù)據(jù),幫助釋放那些不在需要的內(nèi)存資源等。除了執(zhí)行這些任務(wù)外,.NET還要使用一個(gè)非常復(fù)雜的類庫(kù)——,以便在Windows上執(zhí)行大量的任務(wù)。對(duì)這一任務(wù),.NET承擔(dān)了雙重角色;管理代碼的執(zhí)行和為代碼提供服務(wù)。如前所述,.NET位于代碼和Windows之間,可以提供需要的服務(wù)。(1).NET運(yùn)行時(shí):也稱為公共語(yǔ)言運(yùn)行時(shí)(Common Language Runtime)或CLR,它實(shí)際管理代碼。它可以處理加載程序,運(yùn)行程序的代碼,以及提供所有支持的代碼。(2)受管制的代碼:(managed code)。.NET外部的其它代碼也運(yùn)行在Windows上,這些代碼稱為未受管制的代碼(unmanaged code)。(3)中間語(yǔ)言(IL):,這種語(yǔ)言確定代碼的位置。在編譯受管制的代碼時(shí),編譯器實(shí)際上使用中間語(yǔ)言,CLR處理代碼執(zhí)行前的最后編譯階段。IL 可以非??焖俚木幾g為內(nèi)部的機(jī)器代碼。(4)公共類型系統(tǒng)(CTS):為了實(shí)現(xiàn)語(yǔ)言的互操作性,必須有一組各種語(yǔ)言都認(rèn)可的基本數(shù)據(jù)類型,這樣才能對(duì)所有語(yǔ)言進(jìn)行標(biāo)準(zhǔn)化處理。CTS就提供了這個(gè)功能,還提供了定義鼎峙類的規(guī)則。(5).NET基類:這是一個(gè)擴(kuò)展的類庫(kù),它包含預(yù)先寫(xiě)好的代碼,執(zhí)行Windows上各種任務(wù),例如顯示窗口和窗體、訪問(wèn)Windows基本服務(wù)、讀寫(xiě)文件、訪問(wèn)網(wǎng)絡(luò)和Internet、訪問(wèn)數(shù)據(jù)源。(6)公共語(yǔ)言規(guī)范(CLS):這是確保代碼可以在任何語(yǔ)言中訪問(wèn)的最小標(biāo)準(zhǔn)集合。,代碼也可以是使用CLS外部的功能。如果非CLS功能在代碼所在的裝配件的外部是可見(jiàn)的,那么這些功能就不能在某些語(yǔ)言中使用。(7)Justintime(JIT)編譯:這個(gè)術(shù)語(yǔ)用于表示執(zhí)行編譯過(guò)程的最后階段,即從中間語(yǔ)言轉(zhuǎn)換為內(nèi)部機(jī)器代碼。起名稱的來(lái)源是部分代碼是按需要即時(shí)編譯的。 .NET基類庫(kù)首先,從易于編寫(xiě)代碼的角度來(lái)看。.NET類庫(kù)是Microsoft已經(jīng)編寫(xiě)好的一個(gè)內(nèi)容豐富的受管制的代碼類集合,它可以完成以前要通過(guò)Windows API來(lái)完成的絕大多數(shù)任務(wù)。這些類派生于與中間語(yǔ)言相同的對(duì)象模型,也基于單一繼承性。,都可以實(shí)例化對(duì)象,也可以從它們中派生自己的類。.NET基類的一個(gè)優(yōu)點(diǎn)是他們非常易用,且都是自我描述性的。例如,要啟動(dòng)一個(gè)線程,可以調(diào)用Thread類的Start()方法。要打開(kāi)一個(gè)文件,可以調(diào)用File類的Open()方法。要禁用TexBox,應(yīng)把TexBox對(duì)象的Enable屬性設(shè)置為false。Visual Basic和Java開(kāi)發(fā)人員非常熟悉這種自我描述性的類,他們的庫(kù)在易用性方面是非常類似的。.NET基類包括:IL提供的核心功能,Windows GUI支持,控件等,Web窗體(),數(shù)據(jù)訪問(wèn)(),目錄訪問(wèn),文件系統(tǒng)和注冊(cè)表訪問(wèn),聯(lián)網(wǎng)和Web瀏覽,.NET屬性和反射,訪問(wèn)windows操作系統(tǒng)、環(huán)境變量等各個(gè)方面,訪問(wèn)不同語(yǔ)言的源代碼和編譯器,COM互操作性,制圖技術(shù)(GDI+)。C是一種新的面向?qū)ο蟮木幊陶Z(yǔ)言。C編譯器只能生成受管制的代碼。C的重要性體現(xiàn)在兩個(gè)方面:第一。第二,它是一種現(xiàn)代的面向?qū)ο笳Z(yǔ)言,在設(shè)計(jì)它時(shí),Microsoft還學(xué)習(xí)了其他類似語(yǔ)言的經(jīng)驗(yàn),這些類似語(yǔ)言是近20年來(lái)面向?qū)ο笠?guī)則得到廣泛應(yīng)用以來(lái)發(fā)出來(lái)的。C本身而言只是一種語(yǔ)言。,但C不支持。而另一些特