`
little_rui
  • 浏览: 7073 次
社区版块
存档分类
最新评论
阅读更多
   在Internet上,多媒体业务诸如:流媒体,视频会议和视频点播等,正在成为信息传送的重要组成部分。点对点传输的单播方式不能适应这一类业务传输特性--单点发送多点接收,因为服务器必须为每一个接收者提供一个相同内容的IP报文拷贝,同时网络上也重复地传输相同内容的报文,占用了大量资源。在这种情况下组播(multicast)应运而生,它的出现解决了一个主机向特定的多个接收者发送消息的方法。1989年,IETF通过RFC1112,定义了Internet上的组播方式。
   主机组的成员可以动态变化,主机有权选择加入或者退出某个主机组。主机可以加入多个主机组,也可以向自己没有加入的主机组发送数据。主机组有两种:永久组和临时组。永久组的IP地址是周知的,由Internet管理机构分配,是保留地址。临时组的地址则使用除永久组地址外的非保留D类地址。
      IP组播分组在互联网上的转发由支持组播的路由器来处理。主机发出的IP组播分组在本子网内被所有主机组成员接收,同时与该子网直接相连的组播路由器会把组播报文 转发到所有包含该主机组成员的网络上。组播报文传递的范围由报文的生存期值(TTL, Time-to-Live)决定,如果TTL值等于或者小于设置的路由器端口TTL门限值(TTL Threshold),路由器将不再转发该报文。
单个数据流可以发送到多个客户端的组播能力已成为大多数多媒体应用的传输手段。组播技术利用一个IP地址使IP数据报文 发送到用户组。IP组播采用了特殊定义的目的IP地址和目的MAC地址。IGMP为客户端提供加入和离开组播组的方式。CGMP使路由器为交换机配置组播 转发表,并告诉交换机当前的组播成员。指派路由器根据对网络中的组播成员的分布和使用的不同采用密集模式DM或稀疏模式SM组播路由协议来构造组播的分布 树,而这个分布树将在源子网和组播组之间确定一条唯一路径以提高数据传输效率。
IP组播技术需要三层交换机,或路由器支持,通常应用于专用网络,如:教育网、**网以及企业内部网等,使用IP组播技术可以极大的降低数据发送方的带宽要求,最大的好处是可以让数据接收方的数量成千上万,而不会造成网络的阻塞。
AnyChatPlatform Core SDK V4.0新增了对IP组播技术的支持,下面介绍如何使用相关的API接口,典型的加入多播组,并向多播组发送数据的代码如下:

1.//设置本地组播策略
2.DWORD dwMultiCastPolitic = 1;
3.BRAC_SetSDKOption(BRAC_SO_NETWORK_MULTICASTPOLITIC,(constchar*)&dwMultiCastPolitic,sizeof(DWORD));
4.
5.//加入多播组
6.DWORD dwFlags = BRAC_MCFLAGS_JOINGROUP | BRAC_MCFLAGS_SENDDATA |BRAC_MCFLAGS_RECVDATA;
7.BRAC_MultiCastControl("224.2.3.4",9810, "",5, dwFlags);

上面的代码中“dwFlags”标志指示加入多播组“224.2.3.4:9810”,本地的数据通过该多播组进行传输,同时,自己也从该多播组接收其它用户的音视频数据。

当需要本地发送组播数据时,设置本地组播策略是必须的,因为系统默认是采用服务器所配置的网络数据传输策略(AnyChatCoreServer.ini中的“RoutingPolicy”配置项)进行数据发送,如不设置本地组播策略,则不会向组播地址发送数据,设置之后,可以将本地的数据发送多个组播地址和端口,如下面的代码表示音视频数据将向“224.2.3.4:9810”、“224.2.3.4:9812”两个组播端口广播数据:

1.//设置本地组播策略
2.DWORD dwMultiCastPolitic = 1;
3.BRAC_SetSDKOption(BRAC_SO_NETWORK_MULTICASTPOLITIC,(constchar*)&dwMultiCastPolitic,sizeof(DWORD));
4.
5.//加入多播组
6.DWORD dwFlags = BRAC_MCFLAGS_JOINGROUP | BRAC_MCFLAGS_SENDDATA;
7.BRAC_MultiCastControl("224.2.3.4",9810, "",5, dwFlags);
8.BRAC_MultiCastControl("224.2.3.4",9812, "",5, dwFlags);
当系统有多块网卡,而需要向其中某一块网卡连接的网络进行组播时,可通过“BRAC_MultiCastControl”的第三个参数来指定即可,第三个参数是指定网卡的IP地址。
0
1
分享到:
评论

相关推荐

    组播应用问题与解决

    组播在视频监控、局域网广播消息等应用中广泛使用,但是经常遇到一些问题,例如加入广播消息未发出、异常退出组播、组播消息未发出的问题。 问题一:加入组播组 加入组播组是使用 IGMP 协议向组播路由器地址发送...

    zigbee 组播通讯

    在网络技术的应用并不是很多,网上视频会议、网上视频观看特别适合采用组播方式。因为如果采用单播方式,逐个节点传输,有多少个目标节点,就会有多少次传送过程,这种方式显然效率极低,是不可取的;如果采用不区分...

    window下组播软件,qt工程

    在IP网络中,组播通过特定的IP地址范围(如224.0.0.0到239.255.255.255)来实现。使用组播,可以显著降低带宽消耗,提高效率,尤其适用于广播式服务,例如视频直播或多人在线游戏。 4. **多线程**:在本项目中,多...

    组播测试小工具-MULTICAST

    组播技术在IT行业中是一种高效的通信方式,尤其适用于多媒体流媒体传输、在线教育、视频会议等场景。它允许多个接收者同时接收到相同的数据,而无需为每个接收者单独发送,大大节省了网络资源。这里提到的"组播测试...

    linux 下实现组播通讯简单实例

    组播技术允许一个发送者同时向多个接收者发送数据,而无需为每个接收者建立单独的连接,从而节省了网络资源。本实例将通过C语言来实现一个简单的Linux组播通信程序。 首先,我们需要了解组播的基本概念。组播基于IP...

    组播快速配置指南

    组播技术作为一种高效的数据传输方式,对于现代网络通信而言至关重要,尤其在视频会议、企业通讯、远程教育、软件分发等场景中应用广泛。本文基于Cisco技术文档《组播快速配置指南》的内容,深入解析组播配置的基础...

    ip多播组讨论会系统论文

    在讨论会系统中,IP多播技术可以有效地减少网络流量,提高效率,尤其在大量用户同时参与的情况下。 **2. TCP/IP协议** TCP/IP协议是互联网通信的基础,它由多个层次组成,包括应用层、传输层、网络层和数据链路层。...

    交换机组播功能设置详解

    1. **IP组播技术体系架构** - **组成员关系协议**:包括IGMP(Internet Group Management Protocol,互联网组管理协议)。 - **组播路由协议**:分为域内组播路由协议(如PIM-SM、PIM-DM、DVMRP)和域间组播路由...

    即时通讯视频通讯解决方案

    - **节省带宽**:利用IP组播技术,有效节省网络带宽资源,特别适用于大规模视频会议场景。 **6、P2P技术** - **高效传输**:P2P技术优化数据传输路径,减少服务器压力,提升传输效率。 **7、跨平台** - **广泛...

    基于IP的视频传输学习资料

    4. **网络传输**:通过IP网络使用组播技术传输视频数据,确保视频流高效、稳定地传输到目标组播组成员。 #### 四、结论 基于IP的视频传输方案具有结构简单、画面清晰、延时小等优点。通过采用组播技术、MPEG-4视频...

    C#音视频聊天技术源代码

    包含了音视频处理模块(采集、编解码)、流媒体管理模块(丢包重传、抖动平滑、动态缓冲)、流媒体播放模块(多路混音、音视频同步)以及P2P网络模块(NAT穿透、UPnP支持、IP组播支持)等多个子模块,封装了底层的...

    单播 多播 组播的广播区别

    多播的缺点是网络技术的应用并不是很多,网上视频会议、网上视频点播特别适合采用多播方式。 广播的优点是网络设备简单,维护简单,布网成本低廉,服务器流量负载极低。但是广播的缺点是无法针对每个客户的要求和...

    网络通讯支持库(c#),支持udp、tcp、组播

    组播是一种在多播组内广播数据的技术,它比单播更有效,因为数据只需要发送一次,就可以被多个接收者接收。在C#中,`MulticastSocket`或类似的类通常用于处理组播,它需要设置特定的IP多播地址和端口号,以及加入或...

    单播、多播和广播的比较

    多播也可以称为组播,在网络技术的应用并不是很多,但是在网上视频会议、网上视频点播等场景中非常适合采用多播方式。多播可以实现一次传送所有目标节点的数据,也可以达到只对特定对象传送数据的目的。IP 网络的多...

    一种TS+OVER+IP的流媒体播放器架构和实现

    IPTV涉及的关键技术广泛,主要包括音视频编解码、流媒体、数字版权管理(DRM)、内容分发网络(CDN)、组播、电子节目单(EPG)和中间件技术等。其中,用户端设备——机顶盒(IPSTB)扮演着核心角色,它负责接收、...

    IM.rar_im通讯Wpf_即时通讯wpf_在线会议_聊天室_聊天室视频

    同时,网络传输部分可能涉及TCP/IP协议和WebSocket技术,确保视频流的稳定传输。 3. **语音通话**:语音通话功能类似,但可能使用专门的音频编解码器,如Opus或G.729。声音的采集和播放可能通过声卡驱动和多媒体API...

    计算机三级网络技术IPTV概述.doc

    直播电视通过IP网络上的组播技术实现,与传统电视相比,IPTV使用数字信号传输,编码通常采用MEPG-2、MEPG-4、WMV或H.264等压缩技术。时移电视则利用存储和点播技术,让观众可以回看已播放的节目。 IPTV的技术构成...

Global site tag (gtag.js) - Google Analytics