畢業(yè)設(shè)計(jì)---基于局域網(wǎng)的視頻會(huì)議系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  目 錄</b></p><p><b>  摘 要2</b></p><p>  Abstract2</p><p>  1 前 言3</p><p>  2 視頻會(huì)議系統(tǒng)的基本原理4</p><p>  3視頻會(huì)議系統(tǒng)的設(shè)計(jì)

2、和實(shí)現(xiàn)5</p><p>  3.1 開發(fā)環(huán)境簡(jiǎn)介5</p><p>  3.1.1 Java語(yǔ)言及其開發(fā)工具簡(jiǎn)介5</p><p>  3.1.2 系統(tǒng)開發(fā)硬件環(huán)境6</p><p>  3.2 系統(tǒng)的具體實(shí)現(xiàn)6</p><p>  3.2.1 JavaGroups的具體實(shí)現(xiàn)6</p>

3、<p>  3.2.2 對(duì)JavaGroups的擴(kuò)展實(shí)現(xiàn)視頻會(huì)議系統(tǒng)9</p><p>  3.3視頻會(huì)議系統(tǒng)的相關(guān)技術(shù)13</p><p>  3.3.1 Java媒體框架13</p><p>  3.3.2 CSCW13</p><p>  4 結(jié) 束 語(yǔ)14</p><p>  5

4、 謝 辭14</p><p>  6 參考文獻(xiàn)14</p><p><b>  摘 要</b></p><p>  傳統(tǒng)的會(huì)議總是需要先預(yù)定時(shí)間、地點(diǎn),統(tǒng)一開會(huì)人員及布置會(huì)場(chǎng)、記錄、主持等,會(huì)議所要解決的問題或是要制定的方案、決策常常由于許多客觀因素而耽擱。視頻會(huì)議(VideoConference)系統(tǒng)是一種能把聲音、圖像、文本等多

5、種信息從一個(gè)地方傳送到另一個(gè)地方的通信系統(tǒng),它解決了以上的問題,免去了很多會(huì)議開支,縮短了解決問題的周期,使客觀因素的影響大大減小。視頻會(huì)議系統(tǒng)作為計(jì)算機(jī)技術(shù)和通信技術(shù)相結(jié)合的產(chǎn)物,正隨著波及全球的信息高速公路的興起而迅速發(fā)展起來(lái)。本文介紹了視頻會(huì)議系統(tǒng)的基本概念,與其相關(guān)的Java媒體框架(JMF:Java Media Framework)和計(jì)算機(jī)支持的協(xié)同工作(CSCW:Computer Supported Cooperative

6、Work)系統(tǒng),Java語(yǔ)言及其開發(fā)環(huán)境,并根據(jù)視頻會(huì)議系統(tǒng)的基本結(jié)構(gòu)和一些相關(guān)技術(shù),說(shuō)明了一個(gè)基于JavaGroups工具包的小型視頻會(huì)議系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)。</p><p>  關(guān)鍵詞: 視頻會(huì)議系統(tǒng);JavaGroups工具包;Java媒體框架;計(jì)算機(jī)支持的協(xié)同工作</p><p><b>  Abstract </b></p><p> 

7、 Traditionally,holding a conference needs some complex procedures for a long time ,such as pre-arranging the schedule ,place ,people ,preparing</p><p>  the hall ,recorder ,master and so on. The goal of a me

8、eting , resolving problems or making plans and decisions ,will be usually delayed by such</p><p>  objective factors. The video conference system is a communication system</p><p>  that transmit

9、s many kinds of signals such as video, audio, text and so on from one place to another. It is created to save money and time because of meetings and helps reducing the influence of objective factors. The</p><p

10、>  video conference system is the combination of computer technology and</p><p>  communication technology, and it is now developing very fast with the National Information Infrastructure of the whole wor

11、ld. This article introduces the basic concepts of the video conference ,JMF(Java Media Framework) and the CSCW (Computer Supported Coorperative Work)system and Java language. According to the basic structure of video co

12、nference and some other technology,it describes the design and implementation of a mini-video conference system based-on JavaGroups toolkit.</p><p>  Key words :video conference system;JavaGroups toolkit;JMF

13、;CSCW</p><p><b>  1 前 言</b></p><p>  會(huì)議,是人類社會(huì)經(jīng)濟(jì)生活中不可或缺的一部分,有關(guān)的研究表明,通信的有效性約55%依賴于面對(duì)面(face-to-face)的視覺效果,38%依賴于說(shuō)話語(yǔ)音,視聽是人們獲取信息的最重要形式,而面對(duì)面的討論(face-to-face)是人類表達(dá)思想最豐富的一種方式。自工業(yè)革命后,科技的發(fā)達(dá)

14、使得通信技術(shù)有了突破性的進(jìn)展,電話和電報(bào)的發(fā)明,使遠(yuǎn)地的人們可以立即傳送聲音和文檔。然而,除了言語(yǔ)的溝通外,人類更注重的是表情和肢體的表達(dá),僅僅是聲音的傳送已經(jīng)無(wú)法滿足現(xiàn)代人交流的需求,即時(shí)并且互動(dòng)的影像更能真實(shí)自然的傳送信息。(1)視頻會(huì)議系統(tǒng)正是在這種迫切需要的推動(dòng)下產(chǎn)生的新一代通信產(chǎn)品。</p><p>  視頻會(huì)議(VideoConference)系統(tǒng)是一種能把聲音、圖像、文本等多種信息從一個(gè)地方傳送到另

15、一個(gè)地方的通信系統(tǒng)。有效發(fā)送基于視頻的信息,可以在遠(yuǎn)程部門和部門間開展合作,同時(shí)還可以實(shí)現(xiàn)諸如視頻會(huì)議和視頻點(diǎn)播等視頻應(yīng)用技術(shù)。視頻會(huì)議系統(tǒng)是計(jì)算機(jī)技術(shù)與通信技術(shù)相結(jié)合的產(chǎn)物,它作為多媒體通信技術(shù)的一個(gè)重要組成部分,正隨著波及全球的信息高速公路的興起而迅速發(fā)展起來(lái)。</p><p>  視頻會(huì)議從出現(xiàn)至今已有三十多年,從最開始的減少旅行費(fèi)用,提高工作效率,到911時(shí)的加速國(guó)內(nèi)外協(xié)作,保障人身安全等,再到SARS時(shí)

16、保障社會(huì)的穩(wěn)定和各項(xiàng)工作最低限度的運(yùn)轉(zhuǎn),視頻會(huì)議的優(yōu)越性正在越來(lái)越被廣泛的顯示出來(lái)。(2)鑒于視頻會(huì)議系統(tǒng)在軍事、經(jīng)濟(jì)、文化等領(lǐng)域給人類帶來(lái)的巨大作用和經(jīng)濟(jì)效益,各國(guó)競(jìng)相研究和開發(fā)視頻會(huì)議系統(tǒng),特別是在超大規(guī)模集成電路、壓縮算法及視覺生理研究方面取得了突破性進(jìn)展和關(guān)于視頻會(huì)議的一系列國(guó)際標(biāo)準(zhǔn)相繼出臺(tái),以及各種圖像實(shí)時(shí)處理芯片紛紛推出后,視頻會(huì)議系統(tǒng)的實(shí)用化才得到長(zhǎng)足的發(fā)展。目前國(guó)內(nèi)外的主要應(yīng)用有:</p><p>

17、;<b>  商務(wù)交流</b></p><p><b>  商業(yè)會(huì)議</b></p><p>  企業(yè)客戶服務(wù)和產(chǎn)品開發(fā)</p><p><b>  遠(yuǎn)程教學(xué)和技術(shù)培訓(xùn)</b></p><p><b>  市場(chǎng)調(diào)查和情報(bào)收集</b></p>

18、<p><b>  遠(yuǎn)程醫(yī)療和會(huì)診</b></p><p><b>  科研合作和工程設(shè)計(jì)</b></p><p><b>  跨國(guó)企業(yè)應(yīng)用</b></p><p><b>  招募員工</b></p><p>  從目前的發(fā)展來(lái)看,有關(guān)視頻會(huì)議

19、技術(shù)的研究很多,有關(guān)的產(chǎn)品也非常豐富,盡管視頻會(huì)議系統(tǒng)有十分誘人的廣闊前景,但在這個(gè)領(lǐng)域中還有相當(dāng)多的技術(shù)問題亟待解決,其中在現(xiàn)階段影響視頻會(huì)議系統(tǒng)實(shí)用性、通用性及友好性的相關(guān)技術(shù)和有關(guān)問題有:軟件技術(shù)、數(shù)據(jù)庫(kù)技術(shù)、網(wǎng)絡(luò)技術(shù)、共享技術(shù)、資源控制技術(shù)、保密技術(shù)和會(huì)議模型技術(shù)。(3)</p><p>  本項(xiàng)課題主要研究的是用軟件的方式,配合一些必要的外設(shè),實(shí)現(xiàn)一個(gè)小型視頻會(huì)議系統(tǒng)。</p><p

20、>  2 視頻會(huì)議系統(tǒng)的基本原理</p><p>  視頻會(huì)議(VideoConference)系統(tǒng)的基本定義是:兩個(gè)或兩個(gè)以上地理位置不同的個(gè)人或群體,通過(guò)傳輸線路和多媒體設(shè)備,將聲音、圖像、視頻影像和文件資料交互的傳遞,達(dá)到即時(shí)并且互動(dòng)的溝通,以便完成會(huì)議目的的系統(tǒng)。從定以上看,視頻會(huì)議是一種典型的多媒體通信,下圖是一個(gè)典型的視頻會(huì)議系統(tǒng)示意圖:</p><p>  圖1.1

21、一個(gè)典型的視頻會(huì)議系統(tǒng)的示意圖</p><p>  從上面的示意圖我們可以大致看出,視頻會(huì)議系統(tǒng)主要有三個(gè)部分組成,即通信網(wǎng)絡(luò)、會(huì)議終端和多點(diǎn)控制單元。視頻會(huì)議系統(tǒng)實(shí)質(zhì)上是計(jì)算機(jī)技術(shù)和通信技術(shù)相結(jié)合的產(chǎn)物,所以通信網(wǎng)絡(luò)是視頻會(huì)議系統(tǒng)的基礎(chǔ)組成部分之一,會(huì)議終端是將視頻、音頻、數(shù)據(jù)、信令等等各種數(shù)字信號(hào)分別進(jìn)行處理后組合成的復(fù)合數(shù)字碼流,再將碼流轉(zhuǎn)變?yōu)榕c用戶-網(wǎng)絡(luò)兼容的接口,符合傳輸網(wǎng)絡(luò)所規(guī)定的信道幀結(jié)構(gòu)的信號(hào)格式

22、送上信道進(jìn)行傳輸。多點(diǎn)控制單元是視頻會(huì)議系統(tǒng)用于多點(diǎn)視聽信息的傳輸與切換部分,它是根據(jù)一定的準(zhǔn)則處理視聽信號(hào),并根據(jù)要求分配各個(gè)要連接的信道,但它并不是視頻會(huì)議所必須的。(1)</p><p>  通信網(wǎng)絡(luò)是一系列的設(shè)備、機(jī)構(gòu)和進(jìn)程,通過(guò)它們,附著在網(wǎng)絡(luò)上的終端用戶設(shè)備能夠進(jìn)行有意義的信息交換。它涉及到網(wǎng)絡(luò)傳輸協(xié)議、網(wǎng)絡(luò)編程接口等內(nèi)容。(4)</p><p>  視頻會(huì)議系統(tǒng)的終端設(shè)備承擔(dān)

23、了多種媒體信息的輸入、輸出和處理,以及用戶和網(wǎng)絡(luò)之間的連接、交互和控制等多項(xiàng)任務(wù)。它屬于用戶數(shù)字通信設(shè)備,在系統(tǒng)中處在用戶的視聽、數(shù)據(jù)輸入/輸出設(shè)備和網(wǎng)絡(luò)之間。(1)</p><p>  視頻會(huì)議中有時(shí)需要進(jìn)行多點(diǎn)間的信息傳輸和交換,這時(shí)可以借助于多點(diǎn)控制單元(MCU)來(lái)實(shí)現(xiàn)。多點(diǎn)控制單元實(shí)際上就是一臺(tái)多媒體信息交換機(jī),實(shí)現(xiàn)多點(diǎn)呼叫和連接,實(shí)現(xiàn)視頻廣播、視頻選擇、音頻混合、數(shù)據(jù)廣播等功能,完成各終端信號(hào)的匯接與切

24、換。MCU將各個(gè)終端送來(lái)的信號(hào)進(jìn)行分離,抽取出音頻、視頻、數(shù)據(jù)和信令,分別送到相應(yīng)的處理單元,進(jìn)行音頻混合或切換,視頻切換、數(shù)據(jù)廣播、路由選擇、會(huì)議控制、定時(shí)和呼叫處理等,處理后的信號(hào)由復(fù)用器按照H.221格式組幀,然后經(jīng)網(wǎng)絡(luò)接口送到指定端口。(5)</p><p>  3 視頻會(huì)議系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)</p><p>  3.1 開發(fā)環(huán)境簡(jiǎn)介</p><p> 

25、 3.1.1 Java語(yǔ)言及其開發(fā)工具簡(jiǎn)介</p><p>  Java語(yǔ)言是當(dāng)今流行的新興網(wǎng)絡(luò)編程語(yǔ)言,它的面向?qū)ο?、跨平臺(tái)、分布應(yīng)用等特點(diǎn)給編程人員帶來(lái)了一種嶄新的計(jì)算概念,使WWW從最初的單純提供靜態(tài)信息發(fā)展到現(xiàn)在的提供各種各樣的動(dòng)態(tài)服務(wù),發(fā)生了巨大的變化。Java的出現(xiàn)導(dǎo)致了程序設(shè)計(jì)領(lǐng)域的一場(chǎng)革命,它被譽(yù)為20世紀(jì)出現(xiàn)的最重要的技術(shù)之一。Java不僅能夠編寫小應(yīng)用程序?qū)崿F(xiàn)嵌入網(wǎng)頁(yè)的聲音和動(dòng)畫功能,而且還

26、能夠應(yīng)用于獨(dú)立的大中型應(yīng)用程序,其強(qiáng)大的網(wǎng)絡(luò)功能能夠把整個(gè)Internet作為一個(gè)統(tǒng)一的運(yùn)行平臺(tái),極大的拓展了傳統(tǒng)單機(jī)或Client/Server模式應(yīng)用程序的外延和內(nèi)涵。自從1995年正式問世以來(lái),Java已經(jīng)逐步從一種單純的計(jì)算機(jī)高級(jí)編程語(yǔ)言發(fā)展為一種重要的Internet平臺(tái),并進(jìn)而引發(fā)、帶動(dòng)了Java產(chǎn)業(yè)的發(fā)展和壯大,成為當(dāng)今計(jì)算機(jī)業(yè)界不可忽視的力量和重要的發(fā)展潮流與方向。(6)</p><p>  概括

27、的說(shuō),Java是一種性能優(yōu)異的、簡(jiǎn)單的、面向?qū)ο蟮?、分布式的、解釋的、健壯的、安全的、結(jié)構(gòu)的、中立的、可移植的、多線程的和動(dòng)態(tài)的語(yǔ)言。</p><p>  Java的開發(fā)工具分成三大類,分別為:</p><p>  文本編輯器。這類工具只提供了文本編輯功能,它只是一種類似記事本的工具。這類工具進(jìn)行多種編程語(yǔ)言的開發(fā),如C、C++、Java等。主要有UltraEdit和EditPlus等編輯

28、器。</p><p>  Web開發(fā)工具。這類工具提供了Web頁(yè)面的編輯功能,具體到Java主要就是JSP頁(yè)面的開發(fā)。主要有HomeSite等。</p><p>  集成開發(fā)工具。這類工具提供了Java的繼承開發(fā)環(huán)境,為那些需要集成Java與J2EE的開發(fā)者、開發(fā)團(tuán)隊(duì)提供對(duì)Web應(yīng)用程序、Servlets、JSPs、EJBs、數(shù)據(jù)訪問和企業(yè)應(yīng)用的強(qiáng)大支持?,F(xiàn)在的很多工具屬于這種類型,也是J

29、ava開發(fā)工具的發(fā)展趨勢(shì)。主要有Jbuilder、WebGain、WebSphere Studio等。</p><p>  JBuilder是目前最好的Java開發(fā)工具之一,在協(xié)同管理、對(duì)J2EE和XML的支持等方面均走在其它產(chǎn)品的前面。</p><p>  JBuilder的主要特性有:</p><p>  提供與Tomcat(Tomcat 是一種有JSP環(huán)境的S

30、ervlet的容器。Servlet容器是代替用戶管理和調(diào)用 Servlet的運(yùn)行時(shí)外殼)的集成,使Web開發(fā)更容易。</p><p>  提供了對(duì)企業(yè)應(yīng)用的開發(fā)功能,可以集成多種應(yīng)用服務(wù)器。</p><p>  提供了更簡(jiǎn)單的程序發(fā)布功能,所有的應(yīng)用都可以打包。</p><p>  提供了團(tuán)隊(duì)開發(fā)能力,可以集成多種版本控制產(chǎn)品。</p><p&g

31、t;  JBuilder是遵循Sun公司J2EE標(biāo)準(zhǔn)的可視化集成開發(fā)工具。它是一種處于市場(chǎng)領(lǐng)先地位的跨平臺(tái)環(huán)境,主要用于構(gòu)建具有行業(yè)實(shí)力的企業(yè)Java應(yīng)有程序。JBuilder繼承了Borland公司開發(fā)工具系列的優(yōu)秀特性,這使得用過(guò)Delphi、C++Builder的程序員很容易的過(guò)渡到JBuilder的開發(fā)環(huán)境中。(7)</p><p>  本系統(tǒng)中使用的Java開發(fā)工具為JBuilder9。</p&g

32、t;<p>  3.1.2 系統(tǒng)開發(fā)硬件環(huán)境</p><p>  CPU:P4 1.70G 內(nèi)存:256MB 硬盤:40GB</p><p>  操作系統(tǒng):Microsoft Windows2000 Professional</p><p>  3.2 系統(tǒng)的具體實(shí)現(xiàn)</p><p>  3.2.1 JavaGroups

33、的具體實(shí)現(xiàn)</p><p>  本系統(tǒng)是基于JavaGroups來(lái)分析和設(shè)計(jì)的。JavaGroups是一個(gè)由康奈爾大學(xué)開發(fā)的基于Java的工具包,它提供了可靠的組通信。 它的功能包含了向組內(nèi)所有成員發(fā)送消息,并確保每個(gè)成員接收到相同序列的消息。它的基本概念是一個(gè)類似于BDS套接字的頻道:用戶可以給出他們想加入的組的名字然后連接上,發(fā)送并接受消息,找回當(dāng)前加入的所有成員,并且當(dāng)有成員加入或離開時(shí)可以得到通知。同名的

34、所有頻道可以彼此“發(fā)現(xiàn)”,而且經(jīng)由一個(gè)頻道發(fā)送的消息可以被同一個(gè)組(有一樣的名字)中所有的頻道接收到。(8)</p><p>  JavaGroups的文件夾中包含了12個(gè)文件夾和31個(gè)java文件,把他們放在一起在JBuilder9中生成一個(gè)工程文件。該文件中則有12個(gè)Java包和31個(gè)Java文件。這些包分別為:blocks、conf、debug、demos、ensemble、log、persistence、

35、protocols、service、stack、tests和util。本文種主要討論了其中四個(gè)包的主要功能:</p><p><b>  service包:</b></p><p>  抽象類AbstractService:所有服務(wù)器實(shí)現(xiàn)的一個(gè)超類, 每一個(gè)服務(wù)器有兩個(gè)通訊頻道:一個(gè)被內(nèi)部服務(wù)器用來(lái)和組內(nèi)的合法成員通信,另一個(gè)被客戶服務(wù)器用來(lái)進(jìn)行組間通信。</p

36、><p>  類ServiceRunner:以單機(jī)模式來(lái)啟動(dòng)服務(wù)器。</p><p>  class: ServiceRunner</p><p>  public static method:</p><p>  main(String args[])根據(jù)args.length和Resourcename來(lái)確定是否啟動(dòng)服務(wù)器。</p>

37、<p>  startService(ResourceBundle res)從特殊化的resource中抽取參數(shù),創(chuàng)建服務(wù)器實(shí)例并啟動(dòng)它。</p><p>  Private static method: printUsage()打印這個(gè)類的作用。</p><p>  Public static field:</p><p>  CLIENT_CHAN

38、NEL_STACK 客戶通信頻道的協(xié)議棧。</p><p>  CLIENT_GROUP_NAME 客戶通信頻道的組名。</p><p>  SERVICE_CHANNEL_STACK 服務(wù)器通信頻道的協(xié)議棧。</p><p>  SERVICE_GROUP_NAME 服務(wù)器通信頻道的組名。</p><p>  接口lease:描述了一個(gè)被租

39、借管理器賦權(quán)的標(biāo)號(hào),允許在一段限定的時(shí)間內(nèi)訪問一些資源。</p><p>  Interface:lease</p><p>  Public method:</p><p>  getExpiration()獲取租借期滿時(shí)間,租借期滿時(shí)間總是一個(gè)絕對(duì)的值。</p><p>  getDuration()檢查租借是否期滿。</p>

40、<p>  getLeaseTarget()獲取租借的對(duì)象并返回代表租借源的唯一標(biāo)示符。</p><p>  getTenant()獲取該租借的承租者并返回獲得租借的實(shí)體的唯一標(biāo)示符。</p><p>  getFactory()獲取創(chuàng)建該租借的LeaseFactory的實(shí)例</p><p>  接口LeaseFactory:負(fù)責(zé)批準(zhǔn)新的租借,更新現(xiàn)有

41、的租借并刪除不需要的租借。</p><p>  類LeaseFactoryClient:是接口LeaseFactory的一個(gè)實(shí)現(xiàn),它代表了包含一個(gè)或多個(gè)LeaseFactotyService實(shí)例的組中被批準(zhǔn)的租借。</p><p>  類LeaseFactoryService:是能夠租借資源給用戶的服務(wù)器。租借請(qǐng)求通過(guò)用戶-服務(wù)器通訊頻道發(fā)出,并由message headers中的Leas

42、eRequestHeader的存在進(jìn)行識(shí)別。在每個(gè)message中可能只有一個(gè)租借請(qǐng)求,它包含了租借期限和請(qǐng)求租借的實(shí)體的信息,有效載荷payload信息包含了對(duì)租借資源的唯一識(shí)別。</p><p>  類LeaseRequestHeader:Header的子類,代表了租借請(qǐng)求。</p><p>  類LeaseResponseHeader:Header的子類,代表了服務(wù)器的響應(yīng),在消息中

43、存在這個(gè)header表示先前的請(qǐng)求成功了。header的類型決定了滿足了何種類型的請(qǐng)求。</p><p><b>  stack包:</b></p><p>  類AckMcastReceiverWindow:創(chuàng)建并維持一個(gè)信息棧,接受不同發(fā)送者發(fā)送的信息。應(yīng)答收到的每條信息,檢查它是否已被拒絕,如果是,則拋棄該信息,否則拒絕它。信息中包含了需要?jiǎng)h除的舊信息的序列號(hào),

44、它們要從信息表中移除。 </p><p>  類AckMcastSenderWindow:為每一條信息維持一個(gè)棧,保存接收者發(fā)出的ack。</p><p>  類AckSenderWindow:一個(gè)發(fā)送者的基于ack的滑動(dòng)窗口,當(dāng)收到一個(gè)ack時(shí),消息將按照序列號(hào)的順序填加進(jìn)窗口,同時(shí)刪除應(yīng)答消息。</p><p>  類Configurator:用

45、來(lái)設(shè)置并配置協(xié)議棧,把一個(gè)用來(lái)描述沒一層的分層和配置的字符串傳遞給創(chuàng)建和配置協(xié)議棧的配置器,然后向頂層返回一個(gè)參數(shù)。</p><p>  類GossipServer:為每個(gè)租借維持一個(gè)成員地址的緩沖區(qū),它有兩個(gè)基本功能:獲取一個(gè)給定組的成員并為一個(gè)給定的組注冊(cè)一個(gè)新成員。</p><p>  類GossipClient:是一個(gè)本地stub,使用基于TCP的私有協(xié)議連接到GossipServ

46、er。</p><p>  類GossipData:封裝GossipServer和GossipClient間傳送的數(shù)據(jù)。</p><p>  類Interval:管理重新發(fā)送的時(shí)間間隔。</p><p>  類IpAddress:依賴于網(wǎng)絡(luò)的地址,由協(xié)議棧UDP的最底層產(chǎn)生,包含一個(gè)網(wǎng)絡(luò)地址和端口。</p><p>  抽象類Protocol

47、:為協(xié)議層提供了一套公用的服務(wù)器。每一層必須是protocol的一個(gè)子類并且重載一些方法(典型的如up,down和getname)。各個(gè)層以一定的順序堆疊在一起形成一個(gè)協(xié)議棧。</p><p>  類MessageProtocol:Protocol的子類,它是基于協(xié)議的,但合并了RequestCorrelator和GroupRequest,后者用來(lái)向所有成員發(fā)送消息并接受他們的響應(yīng)。</p><

48、;p>  類ProtocolStack:Protocol的子類,ProtocolStack管理許多協(xié)議,它創(chuàng)建所有的protocol類,把他們初始化,并且當(dāng)準(zhǔn)備好時(shí),以最低層協(xié)議為開始啟動(dòng)它們。它還把從棧中接收到的信息分派給已注冊(cè)的對(duì)象,如channel,GMP,而且把這些對(duì)象發(fā)送的信息沿著棧發(fā)送下去。ProtocolStack利用Configurator來(lái)建立和初始化棧,并且當(dāng)不再需要它們時(shí)銷毀這些棧。</p>&

49、lt;p>  類NakReceiverWindow:根據(jù)信息的序列號(hào)維持棧。允許信息不按順序添加,</p><p>  并且序列號(hào)線可以有間隙。</p><p>  接口ProtocolObserver:為調(diào)試器設(shè)置的接口,用來(lái)接收關(guān)于一個(gè)協(xié)議層的通知。定義了hook,當(dāng)重大事件發(fā)生時(shí)由protocol調(diào)用它們,例如接收到一個(gè)事件。每一個(gè)ProtocolObserver都要有一個(gè)它所

50、監(jiān)聽的協(xié)議的參考。</p><p>  類Retransmitter:維持一個(gè)需要重新發(fā)送的信息序列號(hào)池,信息被標(biāo)上時(shí)間,重發(fā)請(qǐng)求根據(jù)時(shí)間先后。</p><p>  類StateTransferInfo:包含了狀態(tài)轉(zhuǎn)換的參數(shù),在channel和STATE_TRANSFER間進(jìn)行轉(zhuǎn)換。</p><p>  tests包:用來(lái)對(duì)各個(gè)模塊進(jìn)行測(cè)試。</p>

51、<p>  util包:Java.util包包括了Java語(yǔ)言中的一些低級(jí)的使用工具,該util包則在其基礎(chǔ)上進(jìn)行了一些改善,使其更適合實(shí)際的系統(tǒng)。如其中的類LinkedListQueue,是建立在java.util.Queue之上,如果想使用這個(gè)類代替原始的類,它也可以重命名為Queue.java并編譯,</p><p>  3.2.2 對(duì)JavaGroups的擴(kuò)展實(shí)現(xiàn)視頻會(huì)議系統(tǒng)</p>

52、;<p>  VideoConference和JavaGroupsVC是為實(shí)現(xiàn)視頻會(huì)議系統(tǒng)并且基于JavaGroups而設(shè)計(jì)的。VideoConference是JavaGroups的一個(gè)擴(kuò)展包,JavaGroupsVC是基于JavaGroups的一個(gè)視頻會(huì)議的應(yīng)用程序。它是一種開放源碼的程序,提供了一種多平臺(tái)視頻會(huì)議的解決方案。JavaGroupVC支持三個(gè)數(shù)據(jù)頻道:一個(gè)用于視頻廣播的視頻頻道,一個(gè)用于音頻廣播的音頻頻道和

53、一個(gè)用于聊天對(duì)話的文本頻道。加入某一個(gè)組的用戶可以和該組中所有的成員共享視頻和音頻。 每個(gè)用戶要選擇一個(gè)用戶名和卡通圖標(biāo)來(lái)代表自己。在一個(gè)特定的組內(nèi),用戶名和圖標(biāo)都是唯一的。如果在該組中這個(gè)用戶名或圖標(biāo)已經(jīng)有人用過(guò)了,則新來(lái)者就要換另一個(gè)了。組內(nèi)的所有成員都可以選擇發(fā)送消息至所有人或者特定的某個(gè)人。所有對(duì)連接有用的組和目前存在的組將以一種可擴(kuò)充的樹結(jié)構(gòu)顯示出來(lái),這樣用戶可以瀏覽每個(gè)組來(lái)找一個(gè)感興趣的加入。用戶可以無(wú)限次地加入或重復(fù)加入某

54、個(gè)組,但是在某個(gè)特定時(shí)間,一個(gè)用戶只能在一個(gè)組中,他必須離開當(dāng)前所在的組才能夠進(jìn)入另一個(gè)組。</p><p>  JavaGroupsVC使用層結(jié)構(gòu)來(lái)設(shè)計(jì)的。有三個(gè)主要的層:圖形用戶界面層、控制層和數(shù)據(jù)層。如下圖所示:</p><p><b>  圖形用戶界面層</b></p><p><b>  控制層</b></

55、p><p><b>  數(shù)據(jù)層</b></p><p>  圖2.1 JavaGroupsVC的分層結(jié)構(gòu)</p><p>  其中包含六個(gè)主要部分,四個(gè)對(duì)用戶是可見的。它們是圖形用戶界面層中的圖形用戶界面部分,數(shù)據(jù)層中的視頻部分,音頻部分和文本部分。另外兩個(gè)對(duì)終端用戶透明的部分是控制層中的組內(nèi)成員部分和組間成員部分。</p><

56、p><b>  圖形用戶界面層</b></p><p>  該層的主要部分是圖形用戶界面管理器(GUIManager),它通過(guò)輕量Java Swing組件來(lái)處理所有的用戶事件。GUIManagers實(shí)現(xiàn)了接口WidowListener、ActionListener和Runnable,它包含了四個(gè)子組件:聊天面板,媒體面板,成員面板和組面板。</p><p>  

57、聊天面板(ChatPanel)用來(lái)顯示或記錄聊天會(huì)議的活動(dòng)(文本面板),聊天面板由一個(gè)用于輸入消息的文本區(qū)域和一個(gè)用于顯示來(lái)自所有成員的消息的文本區(qū)域組成;組面板(GroupsPanel)用來(lái)顯示所有的組和組中所有的成員。它有一個(gè)包含所有組的樹形結(jié)構(gòu),從中可以看到每個(gè)組內(nèi)的成員;成員面板(MembershipChanel)用來(lái)顯示當(dāng)前組中的所有成員,組中的每個(gè)成員用一個(gè)帶有用戶名和用戶圖標(biāo)的可擊按鈕來(lái)代替,聊天中私有消息可以通過(guò)點(diǎn)擊代表

58、那個(gè)特殊成員的按鈕來(lái)發(fā)送;媒體面板(MediaPanel)用來(lái)顯示視頻和音頻播放器。</p><p>  另外,GUIManager中還包含了一個(gè)用戶菜單項(xiàng)(UserMenuItem),它是Swing組件中菜單項(xiàng)(JMenuItem)的子類,它存儲(chǔ)了必要的用戶信息 ,當(dāng)GUIManager的菜單中有一個(gè)用戶被選中時(shí),同他的視頻會(huì)議就可以開始了。</p><p>  為了使應(yīng)用程序面對(duì)用戶真

59、正做到交互性,用戶事件必須通過(guò)GUIManager下的四個(gè)子組件來(lái)傳播信息。另一方面,為了顯示在JavaGroups框架下發(fā)生的活動(dòng)和事件,各種管理器(如音頻管理器AudioManager、視頻管理器VideoManager、文本管理器TextManager、成員管理器MembershipManager等)都需要一種能與四個(gè)子組件通信的方法。圖形用戶界面管理器處理圖形用戶界面層與控制層和數(shù)據(jù)層之間的所有通信。</p>&l

60、t;p>  圖形用戶界面層中還包括一個(gè)音頻過(guò)濾器和一個(gè)視頻過(guò)濾器,把系統(tǒng)不支持的音頻格式文件和視頻格式文件過(guò)濾掉,該系統(tǒng)支持*.au格式的音頻文件和*.mpeg格式的視頻文件。這兩個(gè)類都繼承了javax.swing.filechooser中的FileFilter類,通過(guò)獲取文件的名字來(lái)判斷是否支持此文件。</p><p>  控制層(ControlManager)</p><p> 

61、 控制管理器包含兩大部分,組管理器(GroupsManager)和成員管理器(MemebershipManager)。</p><p>  其中定義了如下的數(shù)據(jù)結(jié)構(gòu):</p><p>  GroupList:用來(lái)存儲(chǔ)一個(gè)組的信息,包括組名和用戶信息管理器;</p><p>  UserInfo:用來(lái)存儲(chǔ)單個(gè)成員的信息,包括用戶名、地址、聊天地址、視頻地址、音頻地址、

62、默認(rèn)地址和序列號(hào)。</p><p>  組列表管理器(GroupListManager)是GroupList的數(shù)據(jù)結(jié)構(gòu)管理器,它用來(lái)處理在一個(gè)組列表中添加和刪除組的操作。</p><p>  用戶信息管理器(UserInfoManager)是UserInfo的數(shù)據(jù)結(jié)構(gòu)管理器,它用來(lái)處理關(guān)于把可讀的用戶名和終端地址聯(lián)系起來(lái)的所有事務(wù)。</p><p>  組管理器(G

63、roupsManager)屬于頻道管理器,它運(yùn)行組間成員管理協(xié)議,并且通過(guò)GUIManager同用戶事件進(jìn)行通信。它是抽象類Manager的子類,并且實(shí)現(xiàn)了接口MembershipListener和MessageListener。組管理器實(shí)現(xiàn)了加入一個(gè)組,離開一個(gè)組,獲取自身地址,設(shè)置成員管理器、音頻管理器、視頻管理器、文本管理器、組列表管理器等功能。它同時(shí)包含了組列表管理器。</p><p>  成員管理器(M

64、emebershipManager)也屬于頻道管理器,它同樣也運(yùn)行組間成員管理協(xié)議,并且通過(guò)GUIManager同用戶事件進(jìn)行通信。它也是抽象類Manager的子類,實(shí)現(xiàn)了接口MembershipListener和MessageListener。成員管理器定義了當(dāng)前成員向量、新成員向量、當(dāng)前視圖、用戶信息變量,還有一些布爾變量用來(lái)標(biāo)示當(dāng)前成員所處的狀態(tài),如是否是協(xié)調(diào)者,是否在進(jìn)行視頻、音頻廣播等。另外還實(shí)現(xiàn)了連接到一個(gè)組、離開一個(gè)組、獲

65、取成員信息、接收信息、發(fā)送視頻/音頻廣播請(qǐng)求、對(duì)請(qǐng)求的允許或拒絕等功能。它同時(shí)包含了用戶信息管理器。</p><p>  在這一層中除了管理器之外,還定義了特殊的控制消息,這一層中所有的控制消息都是JavaGroups中消息類(Message)的子類。它又分為組列表控制消息、媒體消息信息和成員控制消息。如下所示:</p><p>  五種不同的組表控制消息:</p><

66、p>  BcastNewGroupMsg:由一個(gè)新組的創(chuàng)建者發(fā)出的廣播消息,用來(lái)通知其他組的所有用戶建立了一個(gè)新組。</p><p>  GroupListRequestMsg:從一個(gè)新的成員發(fā)出到所有組的協(xié)調(diào)者得點(diǎn)到點(diǎn)的消息,用來(lái)請(qǐng)求當(dāng)前的組列表。</p><p>  GroupListReplyMsg:當(dāng)前組列表中所有組的協(xié)調(diào)者對(duì)要求組列表的請(qǐng)求者得點(diǎn)到點(diǎn)的答復(fù)信息。</p

67、><p>  MemberJoinGroupMsg:一個(gè)組中的協(xié)調(diào)者用來(lái)通知不同組中的用戶有新成員加入該組的廣播消息。</p><p>  MemberLeaveGroupMsg:一個(gè)組中的協(xié)調(diào)者用來(lái)通知不同組中的用戶有新成員離開該組的廣播消息。</p><p>  十一種不同的成員控制信息</p><p>  BcastUserInfoMsg:

68、新成員向組內(nèi)所有成員發(fā)布的關(guān)于它本身的廣播消息。</p><p>  AudioChannelBcastMsg:新成員向組內(nèi)所有成員發(fā)布的關(guān)于它自己的音頻地址的廣播消息。</p><p>  VideoChannelBcastMsg:新成員向組內(nèi)所有成員發(fā)布的關(guān)于它自己的視頻地址的廣播消息。</p><p>  TextChannelBcastMsg:新成員向組內(nèi)所

69、有成員發(fā)布的關(guān)于它自己的文本地址的廣播消息。</p><p>  InitialMembersRequestMsg:從一個(gè)新的成員發(fā)出到所有組的協(xié)調(diào)者的點(diǎn)到點(diǎn)的消息,用來(lái)請(qǐng)求當(dāng)前的組列表。</p><p>  InitialMembersReplyMsg:從當(dāng)前組列表中所有組的協(xié)調(diào)者對(duì)要求組列表的請(qǐng)求者的點(diǎn)到點(diǎn)的答復(fù)消息。</p><p>  IconInquiry

70、Msg:從一個(gè)新的成員發(fā)出到所有組的協(xié)調(diào)者的點(diǎn)到點(diǎn)的消息,用來(lái)請(qǐng)求可用圖標(biāo)的列表。</p><p>  IconInquiryReplyMsg:當(dāng)前組列表中所有組的協(xié)調(diào)者對(duì)要求可用圖標(biāo)列表的請(qǐng)求者的點(diǎn)到點(diǎn)的答復(fù)消息。</p><p>  JoinRequestMsg:新成員發(fā)給該組協(xié)調(diào)者的點(diǎn)到點(diǎn)的消息,用來(lái)請(qǐng)求加入該組。</p><p>  JoinRequestG

71、rantedMsg:組內(nèi)的協(xié)調(diào)者發(fā)給新成員的點(diǎn)到點(diǎn)的消息,用來(lái)允許該成員加入該組。</p><p>  JoinRequestDeniedMsg:組內(nèi)的協(xié)調(diào)者發(fā)給新成員的點(diǎn)到點(diǎn)的消息,用來(lái)拒絕該成員加入該組。</p><p>  十三種不同的媒體控制消息:</p><p>  StartVideoConferenceRequestMsg:從一個(gè)成員(請(qǐng)求者)發(fā)給另一

72、個(gè)成員(接收者)的點(diǎn)到點(diǎn)的消息,用來(lái)請(qǐng)求一段視頻對(duì)話。</p><p>  StartVideoConferenceRequestGrantedMsg:一個(gè)成員(接收者)發(fā)給另一個(gè)成員(請(qǐng)求者)的點(diǎn)到點(diǎn)的消息,表示同意舉行視頻對(duì)話。</p><p>  StartVideoConferenceRequestDeniedMsg:一個(gè)成員(接收者)發(fā)給另一個(gè)成員(請(qǐng)求者)的點(diǎn)到點(diǎn)的消息,表示拒

73、絕舉行視頻對(duì)話。</p><p>  StartAudioBcastMsg:組內(nèi)協(xié)調(diào)者向所有成員發(fā)出的廣播消息,表示一段音頻廣播的開始。</p><p>  EndAudioBcastMsg:組內(nèi)協(xié)調(diào)者向所有成員發(fā)出的廣播消息,表示一段音頻廣播結(jié)束。</p><p>  StartAudioRequestMsg:組內(nèi)成員(請(qǐng)求者)發(fā)給協(xié)調(diào)者的點(diǎn)到點(diǎn)的消息,請(qǐng)求允許在

74、組內(nèi)廣播音頻。</p><p>  StartAudioRequestGrantedMsg:組內(nèi)協(xié)調(diào)者發(fā)個(gè)請(qǐng)求者的點(diǎn)到點(diǎn)的消息,允許它在組內(nèi)廣播音頻。</p><p>  StartAudioRequestDeniedMsg:組內(nèi)協(xié)調(diào)者發(fā)個(gè)請(qǐng)求者的點(diǎn)到點(diǎn)的消息,禁止它在組內(nèi)廣播音頻。</p><p>  StartVideoBcastMsg:組內(nèi)協(xié)調(diào)者向所有成員發(fā)出

75、的廣播消息,表示一段視頻廣播的開始。</p><p>  EndVideoBcastMsg:組內(nèi)協(xié)調(diào)者向所有成員發(fā)出的廣播消息,表示一段視頻廣播結(jié)束。</p><p>  StartVideoRequestMsg:組內(nèi)成員(請(qǐng)求者)發(fā)給協(xié)調(diào)者的點(diǎn)到點(diǎn)的消息,請(qǐng)求允許在組內(nèi)廣播視頻。</p><p>  StartVideoRequestGrantedMsg:組內(nèi)協(xié)調(diào)

76、者發(fā)個(gè)請(qǐng)求者的點(diǎn)到點(diǎn)的消息,允許它在組內(nèi)廣播視頻。</p><p>  StartVideoRequestDeniedMsg:組內(nèi)協(xié)調(diào)者發(fā)個(gè)請(qǐng)求者的點(diǎn)到點(diǎn)的消息,禁止它在組內(nèi)廣播視頻。</p><p>  數(shù)據(jù)層(DataManager)</p><p>  這一層中定義了數(shù)據(jù)頻道的管理器和消息類型。</p><p>  媒體管理器類(Med

77、iaManager)是數(shù)據(jù)頻道管理器的超類,同時(shí)也是管理器類(Manager)的子類。視頻管理器(VideoManager)、音頻管理器(AudioManager)和文本管理器(TextManager)都是媒體管理器類的子類。他們分別是視頻頻道、音頻頻道和文本頻道的頻道管理器,通過(guò)GUIManager同用戶事件進(jìn)行通信。</p><p>  該層中包含了其中不同的消息類型,他們也是JavaGroups中消息類(M

78、essage)的子類。</p><p>  StartVideoMsg:廣播消息,當(dāng)某成員正在向所有的成員廣播視頻時(shí),來(lái)自該成員的第一個(gè)視頻包,以便他們可以開始新的播放。</p><p>  VideoMsg:包含視頻數(shù)據(jù)的廣播消息。</p><p>  EndVideoMsg:廣播消息,當(dāng)某成員正在向所有的成員播放視頻時(shí),來(lái)自該成員的最后一個(gè)視頻包,以便他們可以停

79、止播放。</p><p>  StartAudioMsg:廣播消息,當(dāng)某個(gè)成員正在向所有的成員播放音頻時(shí),來(lái)自該成員的第一個(gè)音頻包,以便他們可以開始一個(gè)新的音頻播放。</p><p>  AudioMsg:包含音頻數(shù)據(jù)的廣播消息。</p><p>  EndAudioMsg:廣播消息,當(dāng)某個(gè)成員正在向所有的成員播放最后的音頻時(shí),來(lái)自該成員的最后一個(gè)音頻包,以便能夠停

80、止音頻播放。</p><p>  TextMsg:向組中的所有成員播放公共消息或是向一個(gè)包含文本數(shù)據(jù)的特殊接收器中播放點(diǎn)對(duì)點(diǎn)的私有消息。</p><p>  3.3視頻會(huì)議系統(tǒng)的相關(guān)技術(shù)</p><p>  3.3.1 Java媒體框架</p><p>  2001年3月,Sun公司推出了新品Java媒體框架(Java Media Fram

81、ework,簡(jiǎn)稱JMF),這是Java平臺(tái)上的一種多媒體“one-stop shop”(一站購(gòu)齊)是軟件,它包括了各種媒體應(yīng)用程序。它是能夠在Java獨(dú)立應(yīng)用程序和小應(yīng)用程序中顯示、獲取多媒體數(shù)據(jù)的類的集合。JMF為媒體播放器、媒體的獲取以及媒體會(huì)議定義了統(tǒng)一的體系結(jié)構(gòu)、消息處理協(xié)議和程序設(shè)計(jì)接口。JMF提供了一套構(gòu)建塊(building blocks),它對(duì)JMC API的其它部分是非常有用的。例如,JMF提供了一跨平臺(tái)、與設(shè)備無(wú)關(guān)的

82、方式訪問音頻設(shè)備的方法。另外,諸如動(dòng)畫和視頻等基于時(shí)間的媒體演播也需要以相同的方法處理。JMF2.1.1是對(duì)應(yīng)Java2平臺(tái)標(biāo)準(zhǔn)板(J2SE)的一種可選用的應(yīng)用編程接口軟件包,它為音頻和視頻等媒體內(nèi)容的捕獲、回放、流轉(zhuǎn)和編碼轉(zhuǎn)換等提供了統(tǒng)一的架構(gòu)。(9)</p><p>  JMF技術(shù)目前的版本為2.1.1b。JMF2.1.1技術(shù)提供了先進(jìn)的媒體處理能力,擴(kuò)展了Java平臺(tái)的功能。這些功能包括媒體捕獲、壓縮、流轉(zhuǎn)

83、、回放,以及對(duì)各種主要媒體形勢(shì)和編碼的支持,如M-JPEG、H.263、MP3、RTP/RTSP(實(shí)時(shí)傳送協(xié)議和實(shí)時(shí)流轉(zhuǎn)協(xié)議)、Macromedias Flash、IBM的HotMedia和Beatniks的Rich Media Format(RMF)等。(10)</p><p>  在本系統(tǒng)中,安裝的是2.1.1版本的JMF。將JMF的庫(kù)文件添加到工程里面,然后就可以使用它提供的各種類和接口了。本系統(tǒng)中使用到了

84、javax.media包,它是JMF中最重要的包,包含了JMF運(yùn)行時(shí)必要的類。</p><p>  3.3.2 CSCW</p><p>  隨著社會(huì)的發(fā)展和科技的進(jìn)步,各種工作變得越來(lái)越復(fù)雜。以膽完成一項(xiàng)工作可能只要一個(gè)人或幾個(gè)人就能勝任了,現(xiàn)在與以前大不相同了,幾乎每項(xiàng)工作的完成都是許多人智慧的共同結(jié)晶,因此協(xié)同工作在當(dāng)今社會(huì)變得日益重要。在協(xié)同工作中最重要的問題是如何提高整個(gè)工作

85、的效率。為此,在通信和計(jì)算機(jī)技術(shù)的日益成熟的當(dāng)今信息社會(huì)中,計(jì)算機(jī)支持的協(xié)同工作(CSCW:Computer Supported Cooperative Work)也就應(yīng)運(yùn)而生了。CSCW這個(gè)概念是初是在1984年由MIT的Irene Greif和DEC的Paul Cashman提出來(lái)的。它的提出和實(shí)現(xiàn)將從根本上改變?nèi)藗儌鹘y(tǒng)的工作方式和生活方式。</p><p>  CSCW系統(tǒng)從本質(zhì)上講是通過(guò)計(jì)算機(jī)技術(shù)使處于不

86、同地理位置的人們能夠一起工作,并且感覺不到地理位置上的差異。由于人們?cè)谌粘9ぷ髦行枰嗷鬟f聲音、圖像以及文字等多種信息,所以CSCW系統(tǒng)應(yīng)該是一種分布式的多媒體系統(tǒng),它能提供信息的交互式服務(wù),它要求信息在各個(gè)成員之間的傳遞是對(duì)等的,因此是一種對(duì)稱的交互方式。(11)</p><p>  視頻會(huì)議系統(tǒng)即屬于一種CSCW系統(tǒng),它實(shí)現(xiàn)了兩個(gè)或兩個(gè)以上地理位置不同的個(gè)人或群體,通過(guò)傳輸線路和多媒體設(shè)備,將聲音、圖像、視

87、頻影像和文件資料交互的傳遞,達(dá)到即時(shí)并且互動(dòng)的溝通。</p><p><b>  4 結(jié) 束 語(yǔ)</b></p><p>  經(jīng)過(guò)這學(xué)期的畢業(yè)設(shè)計(jì),我們自學(xué)掌握了一門新的編程語(yǔ)言并熟悉了它的開發(fā)環(huán)境,對(duì)視頻會(huì)議這個(gè)課題從陌生到了解,通過(guò)分析它的源代碼,加深了對(duì)Java語(yǔ)言的理解和對(duì)較大型軟件開發(fā)流程的了解。我們組是讀和調(diào)試別人寫的代碼,因此對(duì)于程序的可讀性有了更深

88、刻的理解,也為自己以后寫程序積累了經(jīng)驗(yàn)。對(duì)于調(diào)試,我們?cè)瓉?lái)接觸的不多,而且都是自己寫自己調(diào),這次調(diào)試別人的程序時(shí),也用到了原來(lái)學(xué)的一些方法,如把整個(gè)程序模塊化,先以模塊為單位調(diào)試然后再和為一體,這些不僅加深了以前學(xué)的知識(shí),更為以后階段的學(xué)習(xí)和工作打下了基礎(chǔ)。</p><p><b>  5 謝 辭</b></p><p>  在本次畢業(yè)設(shè)計(jì)的過(guò)程當(dāng)中,我在***

89、老師和xx老師身上學(xué)到了很多東西。兩位老師工作態(tài)度認(rèn)真負(fù)責(zé),治學(xué)嚴(yán)謹(jǐn)縝密,理論功底深厚扎實(shí),這些都使我受益匪淺。他們無(wú)論在理論上還是在實(shí)踐中,都給予我很大的幫助,使我得到很大的提高,對(duì)于我今后的工作和學(xué)習(xí)都會(huì)產(chǎn)生深刻的影響。非常感謝兩位老師細(xì)致而又耐心的輔導(dǎo)。</p><p>  另外,在系統(tǒng)分析過(guò)程中,同組的***同學(xué)給予我不少幫助,在這里一并表示感謝。</p><p><b>

90、;  6 參考文獻(xiàn)</b></p><p>  基于局域網(wǎng)的小型視頻會(huì)議系統(tǒng).吉林大學(xué)碩士研究生畢業(yè)論文</p><p>  董小國(guó),王紅巖,韓少亭.基于H.323協(xié)議的視頻會(huì)議的軟件實(shí)現(xiàn).現(xiàn)代計(jì)算機(jī).總第163期</p><p>  視頻會(huì)議簡(jiǎn)介.成都理工學(xué)院碩士學(xué)位論文</p><p>  慕言,楊士強(qiáng).Internet桌

91、面視頻會(huì)議系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).小型微型計(jì)算機(jī)系統(tǒng).1998年4月第19卷第4期</p><p>  楊建華,黃瑞光.基于TCP/IP協(xié)議的桌面視頻會(huì)議系統(tǒng)中多點(diǎn)控制單元的實(shí)現(xiàn).計(jì)算機(jī)應(yīng)用.1998年12月第18卷第12期</p><p>  印旻,王行言.Java語(yǔ)言與面向?qū)ο蟪绦蛟O(shè)計(jì).清華大學(xué)出版社.2000</p><p>  飛思科技產(chǎn)品研發(fā)中心.精通JBuil

92、der9.電子工業(yè)出版社.2003</p><p>  王峰.Java多媒體程序設(shè)計(jì).清華大學(xué)出版社.1999</p><p>  李櫻等.Jbuilder8基礎(chǔ)編程.人民郵電出版社.2003</p><p>  Will David Mitchell(著),裘嵐(譯).Java程序調(diào)試實(shí)用手冊(cè).電子工業(yè)出版社.2000</p><p>  

溫馨提示

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

評(píng)論

0/150

提交評(píng)論