多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
已閱讀1頁,還剩63頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  本科畢業(yè)論文</p><p>  多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  Multiuser Video Net Meeting System</p><p>  ——網(wǎng)絡(luò)即時(shí)通信、視頻處理及輔助功能模塊</p><p><b>  姓名: </b></p>

2、<p><b>  學(xué)號(hào): </b></p><p><b>  學(xué)院:軟件學(xué)院</b></p><p><b>  系:軟件工程</b></p><p><b>  專業(yè):軟件工程</b></p><p><b>  年級(jí):

3、</b></p><p><b>  指導(dǎo)教師: </b></p><p>  二〇XX 年 X 月</p><p><b>  摘要</b></p><p>  生活中的會(huì)議存在很多的弊端,總是需要事先預(yù)定時(shí)間、地點(diǎn),統(tǒng)一開</p><p>  會(huì)人員及布置會(huì)

4、場(chǎng)、記錄、主持等,相距遙遠(yuǎn)的參會(huì)者不能及時(shí)或者無法參</p><p>  加會(huì)議造成會(huì)議無法正常進(jìn)行,會(huì)議所要解決的問題或是要制定的方案、決</p><p>  策常常由于種種類似的因素而耽擱。準(zhǔn)備會(huì)議、舉行會(huì)議的成本高,效率低。</p><p>  所以步入信息社會(huì)的人們趨向于選擇更加便捷的方式參與會(huì)議。在這種情況</p><p>  下,

5、網(wǎng)絡(luò)視頻會(huì)議應(yīng)運(yùn)而生。</p><p>  多人網(wǎng)絡(luò)視頻會(huì)議(Multiuser Video Net Meeting)系統(tǒng)旨在降低會(huì)議成</p><p>  本,讓人們能夠快捷、便利、經(jīng)濟(jì)的溝通。它是一種能把聲音、圖像、文本</p><p>  等多種信息從一個(gè)地方傳送到另一個(gè)地方的通信系統(tǒng),它解決了以上的問</p><p>  題,免去了很

6、多會(huì)議開支,縮短了解決問題的周期,使客觀因素的影響大大</p><p><b>  減小。</b></p><p>  本文在基于對(duì)現(xiàn)有網(wǎng)絡(luò)即時(shí)通信產(chǎn)品(如:QQ、MSN、Skype 等)與</p><p>  視頻會(huì)議系統(tǒng)的分析與比較下,對(duì)一個(gè)在現(xiàn)有即時(shí)通信軟件的基礎(chǔ)上發(fā)展適</p><p>  于多人網(wǎng)絡(luò)視頻會(huì)議功能

7、的系統(tǒng)的基本設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行了探討。</p><p>  從技術(shù)原理的介紹到技術(shù)在系統(tǒng)中具體的應(yīng)用兩個(gè)層次,重點(diǎn)對(duì)系統(tǒng)的</p><p>  總體框架設(shè)計(jì);局域網(wǎng)即時(shí)通信與大數(shù)據(jù)傳輸;VC++ 媒體框架(VFW:Video</p><p>  For Windows )與視頻模塊的設(shè)計(jì)與開發(fā);多線程技術(shù);視頻數(shù)據(jù)編解碼技</p><p>  

8、術(shù);C++ 語言及其開發(fā)環(huán)境等部分進(jìn)行了詳細(xì)解析,并根據(jù)視頻會(huì)議系統(tǒng)的</p><p>  基本結(jié)構(gòu)和其他一些相關(guān)技術(shù),說明了一個(gè)基于 VFW 的小型視頻會(huì)議系統(tǒng)</p><p><b>  的設(shè)計(jì)和實(shí)現(xiàn)。</b></p><p>  最后對(duì)多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的功能進(jìn)行說明與展示,并對(duì)系統(tǒng)的優(yōu)缺</p><p>  點(diǎn)

9、進(jìn)行了總結(jié),提出了下一步的研究與發(fā)展方向。</p><p>  關(guān)鍵詞:視頻會(huì)議;VFW;即時(shí)通訊</p><p><b>  I</b></p><p><b>  Abstract</b></p><p>  In the daily life, traditionary conference

10、 has many abuses, such as pre-arranging the schedule , place , people , preparing the hall , recorder , master</p><p>  and so on. Attendees far from the place holding the conference maybe late for or absenc

11、e the conference, which makes the conference cannot go on successfully. The goal of a meeting, resolving problems or making plans and decisions , will be</p><p>  usually delayed by such objective factors.I

12、t?shighcostbutlow efficiencyto</p><p>  prepare and hold a meeting. People in the information society prefer to a more convenient way to participate in a meeting. Under the circumstances, The Video Net

13、 Meeting System come into existence as the situation requires.</p><p>  The Multiuser Video Net Meeting System aims at reducing meeting cost and</p><p>  making communication faster, more conven

14、ient and cheaper. The Video Net Meeting System is a communication system that transmits many kinds of signals</p><p>  such as video, audio, text and so on from one place to another. It is created to save mo

15、ney and time because of meetings and helps reducing the influences of objective factors.</p><p>  Thisthesis introduces the basic concepts ofMultiuserVideoNetMeeting</p><p>  System bases o

16、n comparison and analysis of current Instant Messengers (such as QQ、MSN、Skype) and Video Net Meeting System.</p><p>  This thesis introduces the system from two arrangements: technology theory and applicatio

17、n of technology in this system. Include overall design of the system; LAN communication and large data transfer; VFW (Video For Windows) and video programming; Multi-threading; Video encoding and decoding; C++ language a

18、nd MFC(Microsoft Foundation Class) ,According to the basic structure of video conference and some other technology ,it describes the design and implementation of a mini-video net meeting syst</p><p>  In the

19、 end, this thesis introduces and demonstrates the system?s functions, concludes the merits and drawbacks and raises the further studies.</p><p>  Key words: Video Net Meeting; VFW; Instant Communication</

20、p><p><b>  II</b></p><p><b>  目 錄</b></p><p><b>  第一章 緒論1</b></p><p>  1.1 背景介紹1</p><p>  1.2 網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)應(yīng)用現(xiàn)狀2</p>

21、<p>  1.3 本論文主要工作2</p><p>  1.4 論文組織結(jié)構(gòu)3</p><p>  第二章 現(xiàn)有網(wǎng)絡(luò)視頻通信產(chǎn)品分析5</p><p>  2.1 現(xiàn)有的網(wǎng)絡(luò)視頻通信產(chǎn)品分析5</p><p>  2.2 多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的意義8</p><p>  2.3 本章小結(jié)8<

22、;/p><p>  第三章 多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的總體設(shè)計(jì)9</p><p>  3.1 多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)框架設(shè)計(jì)9</p><p>  3.2 模塊劃分與任務(wù)10</p><p>  3.3 關(guān)系結(jié)構(gòu)解析11</p><p>  3.4 本章小結(jié)11</p><p>  第四章 多人

23、網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的局域網(wǎng)通信模塊13</p><p>  4.1 TCP/IP 協(xié)議介紹13</p><p>  4.2 通信連接的建立14</p><p>  4.3 數(shù)據(jù)的封裝16</p><p>  4.4 消息數(shù)據(jù)的讀取20</p><p>  4.5 服務(wù)器消息中轉(zhuǎn)方案分析21</p>

24、<p>  4.6 音視頻數(shù)據(jù)的傳輸22</p><p>  4.7 通信模塊中的線程25</p><p>  4.8 本章小結(jié)27</p><p>  第五章 多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的視頻模塊29</p><p>  5.1 視頻開發(fā)技術(shù)比較與介紹29</p><p>  5.2 視頻模塊開發(fā)詳

25、解30</p><p><b>  III</b></p><p>  5.3 視頻編解碼34</p><p>  5.4 本章小結(jié)36</p><p>  第六章 多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的功能及展示37</p><p>  6.1 開發(fā)環(huán)境37</p><p> 

26、 6.2 系統(tǒng)功能介紹37</p><p>  6.3 系統(tǒng)運(yùn)行展示37</p><p>  6.4 本章小結(jié)48</p><p>  第七章 總結(jié)與展望49</p><p><b>  7.1 總結(jié)49</b></p><p><b>  7.2 展望49</b>

27、;</p><p><b>  致謝51</b></p><p><b>  參考文獻(xiàn)52</b></p><p><b>  附錄54</b></p><p><b>  IV</b></p><p><b>  

28、Contents</b></p><p>  Chapter 1 Introduction1</p><p>  1.1 Background1</p><p>  1.2 Current Situdation2</p><p>  1.3 Contents and Tasks2</p><p> 

29、 1.4 Architecture of Thesis3</p><p>  Chapter 2 Current Market Products Comparison5</p><p>  2.1 Current Market Products Analysis5</p><p>  2.2 The Meaning of The Multiuser Video

30、 Net Meeting System8</p><p>  2.3 Summary8</p><p>  Chapter 3 System Architecture of The System9</p><p>  3.1 System Architecture9</p><p>  3.2 Modules and Task10&

31、lt;/p><p>  3.3 System Relational Structure11</p><p>  3.4 Summary11</p><p>  Chapter 4 Internetwork Communication Module13</p><p>  4.1 Introduction of TCP/IP Protocol

32、13</p><p>  4.2 The Establishment of Communication Links14</p><p>  4.3 Data Encapsulation16</p><p>  4.4 Message Data Extraction20</p><p>  4.5 Message Forward in

33、Server21</p><p>  4.6 Audio and Video Data Transfer22</p><p>  4.7 Multithreading in The Module25</p><p>  4.8 Summary27</p><p>  Chapter 5 Design and Implementatio

34、n of Video Module29</p><p>  5.1 Introduction and Comparison of Video Technology29</p><p>  5.2 Detail Development of The Video Module30</p><p><b>  V</b></p>

35、<p>  5.3 Video Encoding and Decoding34</p><p>  5.4 Summary36</p><p>  Chapter 6 Functions and Exhibition37</p><p>  6.1 Development Environment37</p><p>  6.

36、2 Introduction of System Functions37</p><p>  6.3 Exhibition of System Functions37</p><p>  6.4 Summary48</p><p>  Chapter 7 Conclusions and Future Work49</p><p>  

37、7.1 Conclusions49</p><p>  7.2 Future Work49</p><p>  Acknowledgments51</p><p>  References52</p><p>  Appendix54</p><p><b>  VI</b></p

38、><p><b>  第一章 緒論</b></p><p><b>  第一章 緒論</b></p><p><b>  1.1 背景介紹</b></p><p>  隨著計(jì)算機(jī)和網(wǎng)絡(luò)的進(jìn)一步普及,人們對(duì)于計(jì)算機(jī)和網(wǎng)絡(luò)的依賴不斷增加。</p><p>  人

39、們通過計(jì)算機(jī)和網(wǎng)絡(luò)做許多的工作,包括人際之間的交流也在其幫助下變得更</p><p>  加便捷。即時(shí)通訊(Instant Messaging,簡(jiǎn)稱 IM)軟件的出現(xiàn),更是給人與人之</p><p>  間的交流帶來了巨變。</p><p>  即時(shí)通訊軟件是通過即時(shí)通信技術(shù)來實(shí)現(xiàn)在線聊天、交流的軟件,是一種終</p><p>  端服務(wù),允

40、許兩個(gè)或多人使用網(wǎng)絡(luò)即時(shí)地傳送文字信息、語音與視頻交流。最早</p><p>  的即時(shí)通訊軟件是 1996 年,由四名以色列大學(xué)生開發(fā)的 ICQ(I Seek You),在</p><p>  這之后即時(shí)通訊軟件如雨后春筍般涌現(xiàn),現(xiàn)在比較流行的即時(shí)通訊軟件有 MSN</p><p>  Messenger,QQ,Skype 等等。即時(shí)通訊軟件提供的語音視訊功能打破

41、了地域的</p><p>  限制,使人們能夠非常方便地取得即時(shí)的聯(lián)系,于是受到了越來越多人的青睞,</p><p>  互聯(lián)網(wǎng)時(shí)代的人們?cè)谌粘I钪幸呀?jīng)對(duì)這些即時(shí)通訊軟件產(chǎn)生了非常的依賴。</p><p>  日常生活中,人們常常為會(huì)議奔忙?;I備會(huì)議,舉行會(huì)議,參加會(huì)議都會(huì)花</p><p>  費(fèi)相當(dāng)大的人力和財(cái)力。信息社會(huì)里時(shí)間就是生命

42、,人們期待有更加便捷的溝通</p><p>  方式來取代現(xiàn)有的會(huì)議方式,對(duì)現(xiàn)有即時(shí)通訊軟件產(chǎn)生了依賴的人們,希望會(huì)議</p><p>  可以通過類似即時(shí)通訊軟件的方式來進(jìn)行,在這種情況下,像 QQ,MSN 都提</p><p>  供了多人聊天甚至多人語音的功能,Skype 更是一出現(xiàn)就明確地提出了“會(huì)議”</p><p>  這一概念。

43、網(wǎng)絡(luò)視頻會(huì)議開始進(jìn)入人們的視野。</p><p>  視頻會(huì)議系統(tǒng)是通過視、音頻壓縮和多媒體通信技術(shù)實(shí)現(xiàn)的。支持人們遠(yuǎn)距</p><p>  離進(jìn)行實(shí)時(shí)信息交流與共享,開展協(xié)同工作的應(yīng)用系統(tǒng)。視頻會(huì)議通過傳送會(huì)議</p><p>  成員的視、音頻信息,極大地方便了協(xié)作成員之間真實(shí)、直觀的交流。同時(shí),視</p><p>  頻會(huì)議還利用多媒體

44、支持協(xié)同工作中各種信息的處理,如數(shù)據(jù)共享等,從而可營(yíng)</p><p>  造一個(gè)多人共享的工作空間。隨著多媒體通信技術(shù)的高速發(fā)展,實(shí)時(shí)多媒體通信</p><p>  業(yè)務(wù)也開始廣泛普及。視頻會(huì)議是實(shí)時(shí)多媒體信息傳輸?shù)囊环N重要應(yīng)用形式,在</p><p>  商務(wù)、醫(yī)療和教育等各個(gè)領(lǐng)域都具有廣闊的應(yīng)用前景。</p><p><b> 

45、 1</b></p><p>  多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  1.2 網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)應(yīng)用現(xiàn)狀</p><p>  經(jīng)過近幾年的發(fā)展和市場(chǎng)推動(dòng),視頻會(huì)議系統(tǒng)的應(yīng)用主要在:遠(yuǎn)程分支機(jī)構(gòu)</p><p>  會(huì)議、商務(wù)會(huì)議、遠(yuǎn)程培訓(xùn)、遠(yuǎn)程銷售與支持、遠(yuǎn)程教育、遠(yuǎn)程醫(yī)療等方面?,F(xiàn)</p><

46、p><b>  說明如下:</b></p><p>  遠(yuǎn)程商務(wù)會(huì)議應(yīng)用——視訊業(yè)務(wù)最普遍最廣泛的應(yīng)用,適用于一些大型集團(tuán)</p><p>  公司、外商獨(dú)資企業(yè)等在商務(wù)活動(dòng)猛增的情況下,逐步利用視訊會(huì)議方式組織部</p><p>  分商務(wù)談判、業(yè)務(wù)管理和遠(yuǎn)程公司內(nèi)部會(huì)議。</p><p>  遠(yuǎn)程教育應(yīng)用——利

47、用視訊會(huì)議開展教學(xué)活動(dòng),使更多、更大范圍的學(xué)生能</p><p>  夠聆聽優(yōu)秀教師的教學(xué),在美國(guó)、歐洲較為流行,許多大學(xué)建有其遠(yuǎn)程教育網(wǎng)絡(luò),</p><p>  數(shù)百萬學(xué)生通過交互視訊會(huì)議系統(tǒng)接受教育。另外,遠(yuǎn)程培訓(xùn)在各大企業(yè)也越來</p><p><b>  越受到關(guān)注。</b></p><p>  遠(yuǎn)程醫(yī)療應(yīng)用——

48、利用視訊業(yè)務(wù)實(shí)現(xiàn)中心醫(yī)院與基層醫(yī)院就疑難病癥進(jìn)行</p><p>  會(huì)診、指導(dǎo)治療與護(hù)理、對(duì)基層醫(yī)務(wù)人員的醫(yī)學(xué)培訓(xùn)等等。高質(zhì)量的視訊業(yè)務(wù)使</p><p>  醫(yī)生、護(hù)士在不同地方同時(shí)協(xié)同工作成為可能。遠(yuǎn)程醫(yī)療對(duì)于一些中小醫(yī)院有著</p><p>  重要的意義,可以得到大醫(yī)院的醫(yī)學(xué)專家的咨詢和會(huì)診。</p><p>  項(xiàng)目協(xié)同工作應(yīng)用—

49、—也是進(jìn)行遠(yuǎn)程項(xiàng)目管理的非常好的工具,突出特點(diǎn)是</p><p>  資源共享。項(xiàng)目組的成員能進(jìn)行遠(yuǎn)程協(xié)作,使地理上分開的工作組以更高的速率</p><p>  和靈活性以電子方式組織起來。許多美國(guó)大公司與其分公司間通過數(shù)字鏈路,利</p><p>  用桌面視訊會(huì)議,實(shí)現(xiàn)整個(gè)公司的辦公自動(dòng)化,相關(guān)人員可以在屏幕上共同修改</p><p>&

50、lt;b>  文本、圖表。</b></p><p>  政府行政會(huì)議應(yīng)用——我國(guó)幅員遼闊,各級(jí)政府會(huì)議頻繁,視訊會(huì)議系統(tǒng)是</p><p>  一種現(xiàn)代化召開會(huì)議的多快好省的方法,它可使上級(jí)文件內(nèi)容即時(shí)下達(dá),使下級(jí)</p><p>  與會(huì)者面對(duì)面地討論和深刻領(lǐng)會(huì)上級(jí)精神,使上級(jí)指示及時(shí)得到貫徹執(zhí)行。</p><p><

51、;b>  1.3 主要任務(wù)</b></p><p>  由上一節(jié)我們知道網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的應(yīng)用前景相當(dāng)廣闊,多人網(wǎng)絡(luò)視頻會(huì)</p><p>  議(Multiuser Net Video Meeting)系統(tǒng)采用 C/S 架構(gòu),按照技術(shù)相關(guān)性劃分為網(wǎng)</p><p>  絡(luò)通信模塊、視頻模塊、音頻模塊、數(shù)據(jù)庫模塊、界面模塊和其他輔助性功能模<

52、/p><p><b>  2</b></p><p><b>  第一章 緒論</b></p><p>  塊。本論文由兩人分模塊進(jìn)行開發(fā),系統(tǒng)開發(fā)完成包括四個(gè)階段:需求分析、系</p><p>  統(tǒng)設(shè)計(jì)、編碼及系統(tǒng)測(cè)試。需求分析和系統(tǒng)測(cè)試由兩人共同完成。本文重點(diǎn)針對(duì)</p><p

53、>  即時(shí)通信模塊、視頻開發(fā)模塊、視頻編解碼模塊以及輔助模塊四個(gè)模塊進(jìn)行詳細(xì)的研究與設(shè)計(jì),并且實(shí)現(xiàn)了模擬系統(tǒng),涉及的技術(shù)主要包括 TCP 通信、UDP 傳輸、 Winsock 編程技術(shù)、VFW 視頻編程(視頻采集,視頻顯示)、H.263 編解碼及應(yīng)</p><p>  用、文件保存等技術(shù)。系統(tǒng)其它模塊由其他人員完成。</p><p>  1.4 本論文的組織結(jié)構(gòu)</p>

54、<p>  第一章 緒論部分,主要介紹了網(wǎng)絡(luò)視頻會(huì)議研究的課題背景、應(yīng)用現(xiàn)狀,最</p><p>  后對(duì)本論文的組織結(jié)構(gòu)進(jìn)行了說明。</p><p>  第二章 網(wǎng)絡(luò)視頻通信系統(tǒng)分析與比較,對(duì)現(xiàn)有的網(wǎng)絡(luò)視頻通信系統(tǒng)進(jìn)行了分析與比較,主要是 QQ、MSN、Skype 三種比較流行的即時(shí)通信軟件做了簡(jiǎn)要介紹與優(yōu)缺點(diǎn)分析。從而闡述了開發(fā)本項(xiàng)目——多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的意義之所在。&

55、lt;/p><p>  第三章 多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的總體設(shè)計(jì),介紹了多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的總體設(shè)計(jì),包括框架設(shè)計(jì)思想、部署關(guān)系結(jié)構(gòu)的解析、模塊劃分的原則與任務(wù)等內(nèi)容。</p><p>  第四章 通信模塊的設(shè)計(jì)與實(shí)現(xiàn),包括八個(gè)部分的內(nèi)容,TCP/IP 協(xié)議的基本知識(shí);系統(tǒng) TCP 連接的建立與服務(wù)器對(duì)通信連接的管理;應(yīng)用層數(shù)據(jù)報(bào)的封裝;應(yīng)用層數(shù)據(jù)報(bào)內(nèi)容的讀??;系統(tǒng)中控制消息與文本消息通信的過

56、程解析;音視頻數(shù)據(jù)的通信傳輸說明以及多線程技術(shù)與多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)通信模塊的結(jié)合使用等內(nèi)容。本章與第五章對(duì)視頻模塊的開發(fā)是本論文主要闡述的關(guān)鍵技術(shù)。</p><p>  第五章 視頻模塊的設(shè)計(jì)與實(shí)現(xiàn),主要對(duì) windows 下視頻編程的知識(shí)進(jìn)行簡(jiǎn)要介紹和總結(jié),對(duì)多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)所采用的 VFW (Video For</p><p>  Windows) 軟件開發(fā)包進(jìn)行詳細(xì)的介紹,對(duì)項(xiàng)

57、目中采用的 VFW 的 API</p><p>  進(jìn)行了詳細(xì)的介紹,講解其在程序中的具體應(yīng)用。對(duì)視頻模塊部分的開</p><p>  發(fā)做了整體性的講解,對(duì)技術(shù)實(shí)現(xiàn)過程中的難點(diǎn)與新發(fā)現(xiàn)進(jìn)行了總結(jié)。</p><p>  第六章 系統(tǒng)功能及展示。簡(jiǎn)要介紹了系統(tǒng)開發(fā)的環(huán)境,對(duì)多人網(wǎng)絡(luò)視頻會(huì)議</p><p><b>  3</b&

58、gt;</p><p>  多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  系統(tǒng)的基本功能結(jié)合界面演示的方式進(jìn)行了詳細(xì)的敘述,系統(tǒng)介紹了多</p><p>  人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的基本功能與操作流程。</p><p>  第七章 總結(jié)與展望。對(duì)在項(xiàng)目實(shí)施過程中語論文的撰寫過程中的所學(xué)與經(jīng)驗(yàn)</p><p>  進(jìn)

59、行了詳細(xì)的總結(jié),對(duì)項(xiàng)目系統(tǒng)的進(jìn)一步發(fā)展和技術(shù)運(yùn)用的拓展空間作</p><p><b>  了比較詳細(xì)的設(shè)想。</b></p><p><b>  4</b></p><p>  第二章 現(xiàn)有網(wǎng)絡(luò)視頻通信產(chǎn)品分析</p><p>  第二章 現(xiàn)有網(wǎng)絡(luò)視頻通信產(chǎn)品分析</p><p&

60、gt;  現(xiàn)在流行的很多即時(shí)通訊軟件成了人們?nèi)粘I畈豢苫蛉钡牟糠?,?lt;/p><p>  QQ、MSN、Skype 等等,本章主要對(duì)這些產(chǎn)品做簡(jiǎn)要的介紹與功能分析。并</p><p>  由此引申出開發(fā)多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的意義。</p><p>  2.1 現(xiàn)有的網(wǎng)絡(luò)視頻通信產(chǎn)品分析</p><p>  現(xiàn)在流行的網(wǎng)絡(luò)即時(shí)通信軟件主要有騰

61、訊 QQ、微軟 MSN、網(wǎng)易 POPO、</p><p>  新浪 UC、雅虎通、ICQ、Skype。 我們選取最流行,應(yīng)用最廣的 QQ、MSN</p><p>  和 Skype 進(jìn)行分析與比較。</p><p>  (1) QQ。據(jù)騰訊 QQ 官方消息, 2005 年,QQ 在國(guó)內(nèi)已擁有 2.4 億</p><p>  多的注冊(cè)用戶,

62、7 000 多萬活躍用戶,同時(shí)在線人數(shù) 700 萬以上。目前,騰訊</p><p>  已成為國(guó)內(nèi)用戶最多的個(gè)人即時(shí)通訊工具,占據(jù)著國(guó)內(nèi)約 74%以上的市場(chǎng)份額。除了支持在線消息收發(fā),即時(shí)傳送語音視頻和文件,并且整合移動(dòng)通訊手段,可通過客戶端發(fā)送信息給手機(jī)用戶。目前 QQ 已開發(fā)出穿越防火墻、動(dòng)態(tài)表情、給好友放錄像、捕捉熒屏、共享文件夾、提供聊天場(chǎng)景、聊天時(shí)可顯示圖片等強(qiáng)大的使用功能。另外,QQ 還增加了 QQ

63、 群、QQ 秀、QQ 寵物、</p><p>  游戲等娛樂功能。由于 QQ 良好的開放功能、休閑娛樂服務(wù),使其擁有了龐大的用戶群,在近幾年內(nèi)突飛猛進(jìn),牢牢占據(jù)著國(guó)內(nèi)即時(shí)通訊霸主地位。</p><p>  QQ 之所以能夠取得成功,原因在于 QQ 和其同時(shí)代的在線即時(shí)通訊軟件相比,它在界面設(shè)計(jì)上十分合理,用戶操作簡(jiǎn)單。</p><p>  的不斷發(fā)展給用戶提供了越來

64、越多的功能,在即時(shí)通訊方面提供了點(diǎn)對(duì)點(diǎn)的視頻、語音聊天以及多人的語音聊天,但是對(duì)多人視頻的支持還沒有出現(xiàn),忽視了市場(chǎng)對(duì)多人網(wǎng)絡(luò)視頻的功能需求。</p><p>  另外 QQ 的安全性能不高,在商用領(lǐng)域,由于員工使用 QQ 交流的不可控性對(duì)工作效率有著極大的“傷害”,故企業(yè)對(duì) QQ 的態(tài)度多數(shù)都極為“惡劣”,大多采取了絕對(duì)封殺的措施。</p><p> ?。?) MSN Messenger

65、。MSN 是微軟公司開發(fā)的即時(shí)聊天工具,由于微軟</p><p><b>  5</b></p><p>  多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  產(chǎn)品用戶眾多,操作簡(jiǎn)單,運(yùn)行穩(wěn)定,且與 Windows XP 進(jìn)行了無縫結(jié)合, 使</p><p>  MSN 的普及速度非常快,現(xiàn)在已經(jīng)是世界主流的聊天工具

66、,在國(guó)內(nèi)即時(shí)通訊軟件中穩(wěn)占了第二的位置。MSN Messenger,作為全球四大即時(shí)通訊軟件之一,也提供了很多即時(shí)通訊的功能,但也僅限于點(diǎn)對(duì)點(diǎn)的音頻、視頻、文字信息通信和多人的語音即時(shí)通訊。</p><p>  MSN 消息協(xié)議由一系列的在客戶端和服務(wù)器之間傳送的命令組成。例如,你的一個(gè)好友下線了,服務(wù)器就會(huì)發(fā)送一條消息:FLN example@hotmail.com 到你的客戶端。你的客戶端就會(huì)將這個(gè)好友標(biāo)記為

67、下線狀態(tài)。FLN 就是一個(gè)在服務(wù)器和客戶端傳送的命令,它帶有參數(shù) example@hotmail.com ,這個(gè)參數(shù)是客戶端的 Email 地址,也是用戶名。MSN 消息協(xié)議就靠在客戶端和服務(wù)器之間傳送這樣一些帶參數(shù)的命令來交流信息。</p><p>  MSN 消息協(xié)議建立在 TCP/IP 上,除了顯示圖片,自定義表情,文件傳輸</p><p>  與語音視頻聊天是 p2p 外,其它都通

68、過服務(wù)器來進(jìn)行。</p><p>  MSN 采用 DSN(MSN Messenger 服務(wù)器分為三類:DispatchServer(DS)、</p><p>  Notification Server(NS)、Switchboard Server(SB))服務(wù)器架構(gòu),實(shí)現(xiàn)了很好的</p><p><b>  負(fù)載均衡。</b></p&g

69、t;<p>  MSN 支持手寫功能,但與其他即時(shí)通訊軟件最大的不同是不支持離線消</p><p>  息。同 QQ 一樣,暫時(shí)還沒有開發(fā)出支持多人視頻的產(chǎn)品。沒有提出網(wǎng)絡(luò)會(huì)議</p><p>  的概念,并且針對(duì)這一概念進(jìn)行功能上的完善。</p><p> ?。?)Skype。Skype 是第一個(gè)利用 P2P 技術(shù)進(jìn)行語音通信的 VoIP 工具,&l

70、t;/p><p>  能夠提供較好的通話質(zhì)量。Skype 能夠透過防火墻進(jìn)行無縫通信,安裝使用也</p><p>  很 簡(jiǎn)單。Skype 的網(wǎng)絡(luò)結(jié)構(gòu)包含的節(jié)點(diǎn)有兩種:客戶端(ordinary node)和超</p><p>  級(jí)節(jié)點(diǎn)(super node,SN)??蛻舳吮仨氭溄拥匠?jí)節(jié)點(diǎn),并且在 Skype 的中央</p><p>  服務(wù)器

71、登錄。超級(jí)節(jié)點(diǎn)負(fù)責(zé)為其它客戶端提供登錄跳板及廣播服務(wù),有效地降</p><p>  低了服務(wù)器的負(fù)載。作為第一個(gè)明確提出“會(huì)議”這一概念的網(wǎng)絡(luò)即時(shí)通訊軟</p><p>  件,受到了廣大用戶的歡迎。Skype 是網(wǎng)絡(luò)即時(shí)語音溝通工具。具備 IM 所需</p><p>  的其他功能,比如視頻聊天、多人語音會(huì)議、多人聊天、傳送文件、文字聊天</p>&

72、lt;p>  等功能。但是它主要通過提供免費(fèi)全球性電話,使用戶利用下一代同等網(wǎng)絡(luò)軟</p><p>  件進(jìn)行無限制的高質(zhì)量語音通話。主要致力發(fā)展的方向是電話會(huì)議、語音通訊,</p><p><b>  6</b></p><p>  第二章 現(xiàn)有網(wǎng)絡(luò)視頻通信產(chǎn)品分析</p><p>  對(duì)視頻通訊的關(guān)注度不夠,而

73、且 Skype 將好友列表保存在本地,限制了它的移</p><p><b>  動(dòng)性。</b></p><p>  綜上所述,各現(xiàn)有流行即時(shí)網(wǎng)絡(luò)通信軟件比較分析如表 2-1 所示:</p><p>  表2-1:現(xiàn)有主要流行即時(shí)網(wǎng)絡(luò)通信軟件比較分析總結(jié)</p><p>  綜上所述,現(xiàn)有的大多數(shù)即時(shí)通訊軟件都沒有開發(fā)多人

74、網(wǎng)絡(luò)視頻會(huì)議的功</p><p>  能,并且對(duì)“會(huì)議”這一概念也比較模糊。本項(xiàng)目致力于解決多人視頻會(huì)議與</p><p>  即時(shí)通訊軟件的整合。</p><p><b>  7</b></p><p>  多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  2.2 多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的意義

75、</p><p>  2.2.1 用戶的需求</p><p>  從上一節(jié)的分析比較我們知道現(xiàn)有的網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)已經(jīng)存在,但是并沒</p><p>  有與現(xiàn)有的即時(shí)通訊軟件很好的結(jié)合,得不到廣泛的普及;而現(xiàn)有的即時(shí)通訊軟</p><p>  件提供了點(diǎn)對(duì)點(diǎn)的視頻,多人的文字和語音聊天,但是對(duì)于多人的視頻都未有涉</p>&l

76、t;p><b>  及。</b></p><p>  所以人們對(duì)于一種與現(xiàn)有的即時(shí)通訊軟件相類似并盡量保留和集成各即時(shí)</p><p>  通訊軟件優(yōu)點(diǎn)但是又具有多人視頻語音功能的網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的需求愈發(fā)強(qiáng)</p><p><b>  烈。</b></p><p>  2.2.2 多人網(wǎng)絡(luò)視

77、頻會(huì)議系統(tǒng)的目的</p><p>  多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)即是應(yīng)對(duì)這一日益強(qiáng)烈的需求而出現(xiàn)的,它在基于現(xiàn)</p><p>  有的即時(shí)通訊軟件功能的基礎(chǔ)上添加了多人視頻語音會(huì)議的功能;并且從上一節(jié)</p><p>  我們總結(jié)出,應(yīng)該開發(fā)一種像 QQ 一樣有著簡(jiǎn)潔的界面、簡(jiǎn)單的操作同時(shí)又避免</p><p>  Skype 一樣將好友信息保存

78、在本地的一種即時(shí)通信軟件。這就是本項(xiàng)目開發(fā)的意義所在。</p><p>  相信多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的出現(xiàn)將會(huì)使得網(wǎng)絡(luò)視頻會(huì)議的使用更加普及,</p><p>  給日常生活帶來全新的會(huì)議模式。</p><p><b>  2.3 本章小結(jié)</b></p><p>  本章分析了時(shí)下流行的即時(shí)通訊軟件,并對(duì)這些軟件的優(yōu)點(diǎn)

79、與功能方面的不</p><p>  足做了簡(jiǎn)要總結(jié)。并由此引申出多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)開發(fā)的意義。</p><p><b>  8</b></p><p>  第三章 多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的總體設(shè)計(jì)</p><p>  第三章 多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的總體設(shè)計(jì)</p><p>  多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)

80、是指兩個(gè)或兩個(gè)以上不同地方的個(gè)人或群體通過</p><p>  傳輸線路及多媒體設(shè)備, 將聲音、影像及文件資料互傳, 達(dá)到即時(shí)的互動(dòng)溝</p><p>  通,從而完成會(huì)議目的的系統(tǒng)設(shè)備。視頻會(huì)議系統(tǒng)是集通信、計(jì)算機(jī)技術(shù)、多</p><p>  媒體技術(shù)于一體的遠(yuǎn)程異地通信方式。以下對(duì)本系統(tǒng)的設(shè)計(jì)進(jìn)行簡(jiǎn)要說明。</p><p>  3.1 多

81、人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)框架設(shè)計(jì)</p><p>  在設(shè)計(jì)多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的時(shí)候,要充分考慮底層的端口通信、命令</p><p>  接受與發(fā)送、視音頻的處理等相關(guān)的一系列環(huán)節(jié)。整體設(shè)計(jì)框架如圖 3-1 所示:</p><p>  圖3-1:多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)整體框架圖</p><p>  服務(wù)器作為數(shù)據(jù)交互的中心節(jié)點(diǎn)負(fù)責(zé),客戶端之間的數(shù)據(jù)

82、交互,管理與客</p><p><b>  戶端的通信連接。</b></p><p>  客戶端從交流方式劃分成實(shí)時(shí)音視頻系統(tǒng)和數(shù)據(jù)交互系統(tǒng)兩大部分。音視</p><p>  頻系統(tǒng)主要完成多個(gè)用戶在網(wǎng)絡(luò)上的實(shí)時(shí)“會(huì)談”交流; 數(shù)據(jù)交互系統(tǒng)包括:</p><p>  文字交談、文件傳輸和應(yīng)用程序共享等模塊,用來完成決策成

83、員們之間進(jìn)一步</p><p>  的交流和協(xié)作。借鑒以前的成功案例, 在設(shè)計(jì)過程中筆者采用以下的思想和</p><p><b>  9</b></p><p>  多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  方法:</b></p><p>  ( 1) 采

84、用 VFW(Video for windows) 編程,應(yīng)用先進(jìn)的編碼、壓縮技術(shù),</p><p>  使音視頻的采集、壓縮、回放同硬件環(huán)境相脫離,使平臺(tái)具有良好的可移植性</p><p><b>  和通用性。</b></p><p>  ( 2) 數(shù)據(jù)通信應(yīng)用 TCP 協(xié)議,音視頻通信采用 UDP 協(xié)議和組播技術(shù), 利</p>

85、<p>  UDP 傳輸延時(shí)性較少的特點(diǎn)保證數(shù)據(jù)傳輸?shù)目煽啃院鸵簟㈩l通信的實(shí)時(shí)性,實(shí)現(xiàn)數(shù)據(jù)、音頻、視頻的實(shí)時(shí)多點(diǎn)通信,減少網(wǎng)絡(luò)流量, 提高系統(tǒng)的整體性能。</p><p>  ( 3) 使用不同 Socket 套端口,分別為音視頻等模塊設(shè)置一個(gè)傳輸套接字,這樣在接收遠(yuǎn)端計(jì)算機(jī)傳來的數(shù)據(jù)時(shí), 無須進(jìn)行數(shù)據(jù)格式的判斷,從而提高系統(tǒng)回放數(shù)據(jù)的速度。</p><p>  3.2 模塊劃

86、分與任務(wù)</p><p>  按照技術(shù)相關(guān)性劃分為網(wǎng)絡(luò)通信模塊、視頻模塊、音頻模塊、編解碼模塊、</p><p>  數(shù)據(jù)庫模塊、界面模塊和其他輔助性功能模塊。</p><p>  表 3-1:多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的模塊劃分與任務(wù)</p><p>  本論文以下章節(jié)主要介紹網(wǎng)絡(luò)通信技術(shù)模塊、視頻技術(shù)模塊與編解碼模塊</p>&l

87、t;p>  的相關(guān)知識(shí)以及在項(xiàng)目系統(tǒng)實(shí)施過程中具體的應(yīng)用。</p><p><b>  10</b></p><p>  第三章 多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的總體設(shè)計(jì)</p><p>  3.3 關(guān)系結(jié)構(gòu)解析</p><p>  系統(tǒng)采用 C/S 架構(gòu),每個(gè)客戶端都直接與數(shù)據(jù)庫建立連接,直接進(jìn)行用戶</p>

88、<p>  身份驗(yàn)證,失敗返回,成功后與服務(wù)器建立通信連接,連接方式為 TCP 連接;</p><p>  客戶端之間通過服務(wù)器進(jìn)行信息的交換,當(dāng)進(jìn)行點(diǎn)對(duì)點(diǎn)視頻、語音通信,或者</p><p>  進(jìn)入會(huì)議室模式時(shí),客戶端之間建立分別建立視頻、語音的 UDP 通信連接;</p><p>  綜合來說,UDP 的連接,負(fù)責(zé)傳輸視頻、語音的數(shù)據(jù)幀,其他的通信

89、信息由</p><p>  與服務(wù)器連接的 TCP 連接負(fù)責(zé)。</p><p>  核心功能流程為,客戶端的視頻、語音模塊分別捕獲視頻、語音數(shù)據(jù),交</p><p>  由編解碼模塊進(jìn)行壓縮,壓縮后的數(shù)據(jù)幀交給通信模塊進(jìn)行傳輸,接收端通信</p><p>  模塊接收到數(shù)據(jù)后由編解碼模塊進(jìn)行解碼再給音視頻模塊播放出來。多人視頻</p&g

90、t;<p>  會(huì)議的時(shí)候,客戶端分別管理一份多人的用戶名、地址信息,通信模塊按照多</p><p>  人的地址信息組播到目標(biāo)機(jī)器,目標(biāo)機(jī)器客戶端的通信模塊根據(jù)數(shù)據(jù)源地址對(duì)</p><p>  應(yīng)客戶端管理的用戶名地址列表將數(shù)據(jù)分別進(jìn)行處理顯示在客戶端的不同位</p><p>  置。系統(tǒng)架設(shè)部署結(jié)構(gòu)圖:</p><p>  

91、圖3-2: 系統(tǒng)部署關(guān)系圖</p><p><b>  3.4 本章小結(jié)</b></p><p>  本章主要介紹了系統(tǒng)的總體結(jié)構(gòu)與模塊劃分,對(duì)模塊劃分的原則與模塊的</p><p>  具體劃分以及本論文設(shè)計(jì)的模塊的技術(shù)做了簡(jiǎn)要闡述;說明了系統(tǒng)的整體部署</p><p><b>  結(jié)構(gòu)。</b>

92、</p><p><b>  11</b></p><p>  多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  12</b></p><p>  第四章 多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的局域網(wǎng)通信模塊</p><p>  第四章 多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的局域網(wǎng)通信模塊<

93、;/p><p>  即時(shí)通訊軟件是利用網(wǎng)絡(luò)進(jìn)行交流的軟件,多人視頻會(huì)議系統(tǒng)正是在即時(shí)</p><p>  通訊軟件的基礎(chǔ)上加入了大家期待的多人視頻會(huì)議功能,所以網(wǎng)絡(luò)通信任然是</p><p>  該系統(tǒng)的基礎(chǔ)應(yīng)用模塊。本章將分層講解通信原理知識(shí)和在項(xiàng)目實(shí)施過程中的</p><p>  具體應(yīng)用。包括 TCP、UDP 連接的建立、應(yīng)用層數(shù)據(jù)報(bào)的封裝

94、、讀取過程等</p><p><b>  等。</b></p><p>  4.1 TCP/IP 協(xié)議介紹</p><p>  TCP/IP 協(xié)議是一組包括 TCP 協(xié)議和 IP 協(xié)議,UDP(User Datagram Protocol)</p><p>  協(xié)議、ICMP(Internet Control Messa

95、ge Protocol)協(xié)議和其他一些協(xié)議的協(xié)議</p><p>  組。它采用了 4 層的層級(jí)結(jié)構(gòu),每一層都呼叫它的下一層所提供的網(wǎng)絡(luò)來完成</p><p>  自己的需求。這 4 層分別為:</p><p> ?。?)應(yīng)用層(Application Layer):應(yīng)用程序間溝通的層,如簡(jiǎn)單電子郵件</p><p>  傳輸(SMTP)、文

96、件傳輸協(xié)議(FTP)、網(wǎng)絡(luò)遠(yuǎn)程訪問協(xié)議(Telnet)等。</p><p> ?。?)傳輸層(Transport Layer):在此層中,它提供了節(jié)點(diǎn)間的數(shù)據(jù)傳送服</p><p>  務(wù),如傳輸控制協(xié)議(TCP)、用戶數(shù)據(jù)報(bào)協(xié)議(UDP)等,TCP 和 UDP 給數(shù)</p><p>  據(jù)包加入傳輸數(shù)據(jù)并把它傳輸?shù)较乱粚又?,這一層負(fù)責(zé)傳送數(shù)據(jù),并且確定數(shù)</

97、p><p><b>  據(jù)已被送達(dá)并接收。</b></p><p> ?。?)互連網(wǎng)絡(luò)層(Network Layer):負(fù)責(zé)提供基本的數(shù)據(jù)封包傳送功能,</p><p>  讓每一塊數(shù)據(jù)包都能夠到達(dá)目的主機(jī)(但不檢查是否被正確接收),如網(wǎng)際協(xié)</p><p><b>  議(IP)。</b></p

98、><p> ?。?)網(wǎng)絡(luò)接口層(Network Access Layer):對(duì)實(shí)際的網(wǎng)絡(luò)媒體的管理,定</p><p>  義如何使用實(shí)際網(wǎng)絡(luò)(如 Ethernet、Serial Line 等)來傳送數(shù)據(jù)。</p><p><b>  13</b></p><p>  多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p>

99、<p>  4.2 通信連接的建立</p><p>  4.2.1 系統(tǒng) TCP 通信連接建立詳解</p><p>  客戶端與服務(wù)器建立 TCP 連接,所有控制消息以及文本聊天消息的通信依</p><p>  靠其完成。我們這里探討怎樣使用底層的 API 函數(shù)實(shí)現(xiàn)簡(jiǎn)單的 Winsock 網(wǎng)絡(luò)</p><p>  應(yīng)用程式設(shè)計(jì),分別

100、說明如何在 Server 端和 Client 端操作 Socket,實(shí)現(xiàn)基于</p><p>  TCP/IP 的數(shù)據(jù)傳送。</p><p>  VC 中進(jìn)行 WINSOCK 的 API 編程開發(fā)的時(shí)候,需要在項(xiàng)目中使用下面三個(gè)文件,否則會(huì)出現(xiàn)編譯錯(cuò)誤。</p><p> ?。?)WINSOCK.H: 這是 WINSOCK API 的頭文件,需要包含在項(xiàng)目中。<

101、;/p><p> ?。?)WSOCK32.LIB: WINSOCK API 連接庫文件。在使用中,一定要把它</p><p>  作為項(xiàng)目的非缺省的連接庫包含到項(xiàng)目文件中去。</p><p>  (3)WINSOCK.DLL: WINSOCK 的動(dòng)態(tài)連接庫,位于 WINDOWS 的安裝</p><p>  目錄下。TCP 連接建立的工程如下圖所示

102、:</p><p>  圖 4-1:C/S 架構(gòu) TCP 通信連接的建立過程</p><p><b>  14</b></p><p>  第四章 多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的局域網(wǎng)通信模塊</p><p>  在初始化階段調(diào)用 WSAStartup();此函數(shù)在應(yīng)用程序中初始化 Windows</p><

103、p>  Sockets DLL ,只有此函數(shù)調(diào)用成功后,應(yīng)用程序才可以再調(diào)用其他 Windows</p><p>  Sockets DLL 中的 API 函數(shù)。</p><p>  建立 Socket,調(diào)用 SOCKET socket(int af, int type, int protocol );應(yīng)用程序</p><p>  調(diào)用 socket 函數(shù)來創(chuàng)

104、建一個(gè)能夠進(jìn)行網(wǎng)絡(luò)通信的套接字。第一個(gè)參數(shù)指定應(yīng)用</p><p>  程序使用的通信協(xié)議的協(xié)議族,對(duì)于 TCP/IP 協(xié)議族,該參數(shù)置 PF_INET;第二</p><p>  個(gè)參數(shù)指定要?jiǎng)?chuàng)建的套接字類型,流套接字類型為 SOCK_STREAM、數(shù)據(jù)報(bào)</p><p>  套接字類型為 SOCK_DGRAM;第三個(gè)參數(shù)指定應(yīng)用程序所使用的通信協(xié)議。</p&

105、gt;<p>  當(dāng)創(chuàng)建了一個(gè) Socket 以后,調(diào)用 int bind(SOCKET s, const struct sockaddr</p><p>  FAR *name, int namelen );套接字?jǐn)?shù)據(jù)結(jié)構(gòu)中有一個(gè)默認(rèn)的 IP 地址和默認(rèn)的端</p><p>  口號(hào)。一個(gè)服務(wù)程序必須調(diào)用 bind 函數(shù)來給其綁定一個(gè) IP 地址和一個(gè)特定的</p&g

106、t;<p>  端口號(hào)??蛻舫绦蛞话悴槐卣{(diào)用 bind 函數(shù)來為其 Socket 綁定 IP 地址和斷口號(hào)。</p><p>  該函數(shù)的第一個(gè)參數(shù)指定待綁定的 Socket描述符;第二個(gè)參數(shù)指定一個(gè)</p><p>  sockaddr 結(jié)構(gòu)。</p><p>  服務(wù)器綁定端口后,調(diào)用 int listen( SOCKET s, int back

107、log ) 函數(shù),監(jiān)聽客戶端的 SOCKET 連接。服務(wù)程序調(diào)用 accept(SOCKET accept(SOCKET s, struct sockaddr FAR *addr, int FAR *addrlen ));函數(shù)從處于監(jiān)聽狀態(tài)的流套接字 s 的</p><p>  客戶連接請(qǐng)求隊(duì)列中取出排在最前的一個(gè)客戶請(qǐng)求,并且創(chuàng)建一個(gè)新的套接字</p><p>  來與客戶套接字創(chuàng)建連接

108、通道,如果連接成功,就返回新創(chuàng)建的套接字的描述</p><p>  符,以后與客戶套接字交換數(shù)據(jù)的是新創(chuàng)建的套接字;如果失敗就返回</p><p>  INVALID_SOCKET。</p><p>  對(duì)應(yīng)的客戶程序調(diào)用 connect 函數(shù)(int connect(SOCKET s, const struct sockaddr FAR *name, int na

109、melen ));來使客戶 Socket s 與監(jiān)聽于 name 所指定的計(jì)算機(jī)的特定端口上的服務(wù) Socket 進(jìn)行連接。如果連接成功,connect 返回</p><p>  0;如果失敗則返回 SOCKET_ERROR。</p><p>  數(shù)據(jù)的傳送和接受由函數(shù) send 函數(shù)(int send(SOCKET s, const char FAR *buf, int len, int

110、 flags ));和 recv 函數(shù)(int recv(SOCKET s, char FAR *buf, int len,</p><p>  int flags ));完成。</p><p><b>  15</b></p><p>  多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  4.2.2 通信連接的管理

111、</p><p>  客戶端因?yàn)橹淮嬖谝粋€(gè) socket 與服務(wù)器連接,socket 的管理比較簡(jiǎn)單,只</p><p>  存在建立與關(guān)閉兩種操作。而服務(wù)器將管理眾多客戶端的連接,為了便捷的管</p><p>  理 socket 進(jìn)行數(shù)據(jù)報(bào)的轉(zhuǎn)發(fā)。</p><p>  系統(tǒng)在服務(wù)器端用 CMap 的數(shù)據(jù)結(jié)構(gòu)保存用戶名與 socket 的映

112、射關(guān)系:</p><p>  CMap<CString,LPCTSTR,SOCKET,SOCKET&> socketmap;</p><p>  客戶端連接到服務(wù)器建立 socket 連接以后,服務(wù)器向 socketmap 中插入一</p><p>  項(xiàng)映射關(guān)系。即將新建的 socket 連接的 socket 與連接的客戶端用戶名建立映射<

113、;/p><p>  關(guān)系,便于通過用戶名找到對(duì)應(yīng)的 socket 進(jìn)行通信。</p><p>  表 4-1:某一時(shí)刻用戶名與服務(wù)器 socket 數(shù)組的對(duì)應(yīng)關(guān)系表</p><p>  當(dāng)服務(wù)器需要進(jìn)行消息的轉(zhuǎn)發(fā)時(shí),可以通過消息轉(zhuǎn)發(fā)的目標(biāo)客戶端用戶名索引到對(duì)應(yīng)的 socket,然后將要轉(zhuǎn)發(fā)的數(shù)據(jù)報(bào)寫到索引到的 socket。</p><p>  

114、一對(duì)多點(diǎn)傳輸時(shí),消息中包含多個(gè)目標(biāo)客戶端的用戶名,服務(wù)器將這些用</p><p>  戶名存入一個(gè)數(shù)組,通過循環(huán)數(shù)組索引到每項(xiàng)對(duì)應(yīng) socket,實(shí)現(xiàn)群發(fā)的轉(zhuǎn)發(fā)。</p><p><b>  4.3 數(shù)據(jù)的封裝</b></p><p>  數(shù)據(jù)在傳輸前需經(jīng)過若干層次的封裝,主要包括應(yīng)用層(Application)、傳輸層(TCP)、網(wǎng)絡(luò)互聯(lián)層(

115、IP)、網(wǎng)絡(luò)訪問層(Ethernet)。</p><p>  數(shù)據(jù)包的封裝過程如圖所示:</p><p><b>  16</b></p><p>  第四章 多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的局域網(wǎng)通信模塊</p><p>  圖 4-2:數(shù)據(jù)包的封裝過程圖示</p><p>  4.3.1IP 報(bào)文格式

116、</p><p><b>  數(shù)據(jù)格式:</b></p><p>  數(shù)據(jù)幀:幀頭+I(xiàn)P 數(shù)據(jù)包+幀尾 (幀頭包括源和目標(biāo)主機(jī) MAC 地</p><p>  址及類型,幀尾是校驗(yàn)字)</p><p>  IP 數(shù)據(jù)包:IP 頭部+TCP 數(shù)據(jù)信息 (IP 頭包括源和目標(biāo)主機(jī) IP 地</p><p&

117、gt;  址、類型、生存期等)</p><p>  TCP 數(shù)據(jù)信息:TCP 頭部+實(shí)際數(shù)據(jù) (TCP 頭包括源和目標(biāo)主機(jī)端</p><p>  口號(hào)、順序號(hào)、確認(rèn)號(hào)、校驗(yàn)字等)</p><p>  IP 協(xié)議是 TCP/IP 協(xié)議族中最為核心的協(xié)議。它提供不可靠、無連接的服</p><p>  務(wù),也即依賴其他層的協(xié)議進(jìn)行差錯(cuò)控制。在局域網(wǎng)

118、環(huán)境,IP 協(xié)議往往被封裝</p><p>  在以太網(wǎng)幀中傳送。而所有的 TCP、UDP、ICMP、IGMP 數(shù)據(jù)都被封裝在 IP</p><p>  數(shù)據(jù)報(bào)中傳送。如圖 4-3 所示:</p><p>  4-3:TCP/IP 報(bào)文封裝</p><p>  圖中的上層數(shù)據(jù)即指應(yīng)用層的數(shù)據(jù),下面我們主要介紹這一數(shù)據(jù)的封裝和</p>

119、;<p>  處理等等過程的具體實(shí)現(xiàn)。</p><p><b>  17</b></p><p>  多人網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  4.3.2 數(shù)據(jù)在應(yīng)用程序?qū)蛹?jí)的封裝</p><p>  由上一節(jié)我們知道,消息數(shù)據(jù)報(bào)由消息頭與消息數(shù)據(jù)構(gòu)成,不同的通信層</p><

120、;p>  有不同的消息頭包含協(xié)議的信息,為了更方便進(jìn)行應(yīng)用層消息的通信,系統(tǒng)模</p><p>  IP 數(shù)據(jù)報(bào)的格式對(duì)應(yīng)用層消息數(shù)據(jù)進(jìn)行了封裝。</p><p>  先定義了消息頭的結(jié)構(gòu)體 msghdr,包含整個(gè)消息包的類型 type 和長(zhǎng)度 len,</p><p>  消息頭與 IP 數(shù)據(jù)報(bào)頭、TCP 包頭、以太網(wǎng)幀頭部一樣包含了該層的消息協(xié)議的基本信息

121、。如消息類型、消息包體總長(zhǎng)等,以便接收端能夠讀取到協(xié)議信息進(jìn)行合理準(zhǔn)確的操作。下面是消息頭的具體結(jié)構(gòu):</p><p><b>  //數(shù)據(jù)包頭結(jié)構(gòu)</b></p><p>  typedef struct _msghdr</p><p><b>  {</b></p><p>  char typ

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)論