<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                &emsp;&emsp;在Internet上,多媒體業務諸如:流媒體,視頻會議和視頻點播等,正在成為信息傳送的重要組成部分。點對點傳輸的單播方式不能適應這一類業務傳輸特 性--單點發送多點接收,因為服務器必須為每一個接收者提供一個相同內容的IP報文拷貝,同時網絡上也重復地傳輸相同內容的報文,占用了大量資源。如圖 1.1所示。雖然IP廣播允許一個主機把一個IP報文發送給同一個網絡的所有主機,但是由于不是所有的主機都需要這些報文,因而浪費了網絡資源。在這種情 況下組播(multicast)應運而生,它的出現解決了一個主機向特定的多個接收者發送消息的方法。1989年,IETF通過RFC1112,定義了 Internet上的組播方式。 ![](https://box.kancloud.cn/6474006c5611a859c19b78331684f487_400x300.jpg) &emsp;&emsp;IP組播是指一個IP報文向一個“主機組”的傳送,這個包含零個或多個主機的主機組由一個單獨的IP地址標識。主機組地址也稱為“組播地址”,或者D類地址。除了目的地址部分,組播報文與普通報文沒有區別,網絡盡力傳送組播報文但是并不保證一定送達。 主機組的成員可以動態變化,主機有權選擇加入或者退出某個主機組。主機可以加入多個主機組,也可以向自己沒有加入的主機組發送數據。主機組有兩種:永久組和 臨時組。永久組的IP地址是周知的,由Internet管理機構分配,是保留地址。臨時組的地址則使用除永久組地址外的非保留D類地址。 &emsp;&emsp;IP組播分組在互聯網上的轉發由支持組播的路由器來處理。主機發出的IP組播分組在本子網內被所有主機組成員接收,同時與該子網直接相連的組播路由器會把組播報文 轉發到所有包含該主機組成員的網絡上。組播報文傳遞的范圍由報文的生存期值(TTL, Time-to-Live)決定,如果TTL值等于或者小于設置的路由器端口TTL門限值(TTL Threshold),路由器將不再轉發該報文。 &emsp;&emsp;單個數據流可以發送到多個客戶端的組播能力已成為大多數多媒體應用的傳輸手段。組播技術利用一個IP地址使IP數據報文 發送到用戶組。IP組播采用了特殊定義的目的IP地址和目的MAC地址。IGMP為客戶端提供加入和離開組播組的方式。CGMP使路由器為交換機配置組播 轉發表,并告訴交換機當前的組播成員。指派路由器根據對網絡中的組播成員的分布和使用的不同采用密集模式DM或稀疏模式SM組播路由協議來構造組播的分布 樹,而這個分布樹將在源子網和組播組之間確定一條唯一路徑以提高數據傳輸效率。 &emsp;&emsp;IP組播技術需要三層交換機,或路由器支持,通常應用于專用網絡,如:教育網、廣電網以及企業內部網等,使用IP組播技術可以極大的降低數據發送方的帶寬要求,最大的好處是可以讓數據接收方的數量成千上萬,而不會造成網絡的阻塞。 ~~~ // 內核參數定義(API:BRAC_SetSDKOption傳入參數) var BRAC_SO_NETWORK_MULTICASTPOLITIC = 45; // 組播策略控制(參數為int型,定義為常量:BRAC_MCPOLITIC_XXXX) // 組播策略定義 var BRAC_MCPOLITIC_DISABLE = 0; // 執行服務器路由策略,禁止所有組播發送[默認] var BRAC_MCPOLITIC_ONLYLOCALMC = 1; // 忽略服務器路由策略,只向客戶端本地組播組廣播媒體流 var BRAC_MCPOLITIC_SERVERANDLOCALMC = 2; // 執行服務器路由策略,同時在客戶端本地發送組播數據 var BRAC_MCPOLITIC_ONLYSERVERMC = 3; // 忽略服務器路由策略,只向服務器本地組播組廣播媒體流 var BRAC_MCPOLITIC_SERVERANDSERVERMC = 4; // 執行服務器路由策略,同時在服務器端發送組播數據 // 組播功能標志定義 var BRAC_MCFLAGS_JOINGROUP = 0x00000001; // 加入多播組 var BRAC_MCFLAGS_LEAVEGROUP = 0x00000002; // 離開多播組 var BRAC_MCFLAGS_SENDDATA = 0x00000010; // 數據發送標志,指示該多播組用于發送數據 var BRAC_MCFLAGS_RECVDATA = 0x00000020; // 數據接收標志,指示該多播組用于接收數據 // 組播功能控制 function BRAC_MultiCastControl(lpMultiCastAddr, dwPort, lpNicAddr, dwTTL, dwFlags); ~~~ 典型應用:A、B、C三個客戶端,其中服務器、B、C處于一個組播網絡環境下,A本地不支持組播,A的數據希望在服務器端組播傳給B、C,而B、C的數據希望通過服務器直接點對點傳給A 1、A需要使用組播策略4(SERVERANDSERVERMC),同時通知服務器向組播組發送數據,示例代碼如下: ~~~ BRAC_SetSDKOption(BRAC_SO_NETWORK_MULTICASTPOLITIC, BRAC_MCPOLITIC_SERVERANDSERVERMC); BRAC_MultiCastControl("224.2.3.4", 8100, "", 5, BRAC_MCFLAGS_SENDDATA); ~~~ 2、B、C也需要使用組播策略(SERVERANDSERVERMC),同時需要加入多播組,示例代碼如下: ~~~ BRAC_SetSDKOption(BRAC_SO_NETWORK_MULTICASTPOLITIC, BRAC_MCPOLITIC_SERVERANDSERVERMC); BRAC_MultiCastControl("224.2.3.4", 8100, "", 5, BRAC_MCFLAGS_JOINGROUP + BRAC_MCFLAGS_RECVDATA); ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看