组播
组 播(Multicast)是一种允许一个或多个发送者(组播源)发送单一的数据包到多个接收者(一次的,同时的)的网络技术。组播源把数据包发送到特定组播组,而只有属于该组播 组的地址才能接收到数据包。
实现IP组播传输,则组播源和接收者以及两者之间的下层网络都必须支持组播。
IP地址方案专门为组播划出一个地址范围,在IPv4中为D类地 址,范围是224.0.0.0到239.255.255.255。
判断是否是组播地址:
inline dts_uint32 CDTS_Auxiliary::DTS_IsMulticastAddress( dts_uint32 address )
{
// Note: We return False for addresses in the range 224.0.0.0
// through 224.0.0.255, because these are non-routable
// Note: IPv4-specific #####
dts_uint32 addressInNetworkOrder = DTS_HOST_TO_NET_32(address);
return addressInNetworkOrder > 0xE00000FF &&
addressInNetworkOrder <= 0xEFFFFFFF;
}
组播的实现还是比较简单的,使用组播的方式类似于UDP。
收取码流,如果判断出该地址是组播地址,那么采用组播的套接口方式来用使用之。
使用组播的可以参照originserver_cluster代码
搜索 IP_ADD_MEMBERSHIP 或者 DTS_IsMulticastAddress。
广播
广 播(Broadcast)传输:是指在IP子网内广播数据包,所有在子网内部的主机都将收到这些数据包。
广播的实现,看DVR代码,里面有实现的代码。