打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
组播发送接收过程

组播发送过程

IP 多点广播允许应用程序发送网络中的一组主机可以接收到的单个 IP 数据报。该组中的主机可能驻留在单个子网中,也可能驻留在连接可使用多点广播的路由器的不同子网中。主机可以随时加入或离开组。对主机组中的成员位置或数目没有任何限制。范围在 224.0.0.1 239.255.255.255 之间的 D 类因特网地址标识主机组。

应用程序可使用 socket() API 和无连接的 SOCK_DGRAM 类型套接字发送或接收多点广播数据报。多点广播是一种一对多的传送方法。不能使用类型为 SOCK_STREAM 的面向连接的套接字进行多点广播。在创建类型为 SOCK_DGRAM 的套接字后,应用程序可使用 setsockopt() 函数来控制与该套接字相关联的多点广播特征。setsockopt() 函数接受下列 IPPROTO_IP 级别标志:

  • IP_ADD_MEMBERSHIP:加入指定的多点广播组。
  • IP_DROP_MEMBERSHIP:离开指定的多点广播组。
  • IP_MULTICAST_IF:设置通过其发送出局多点广播数据报的接口。
  • IP_MULTICAST_TTL:在 IP 头中设置出局多点广播数据报的有效时间TTL)。
  • IP_MULTICAST_LOOP:指定当发送主机是多点广播组的成员时,是否将出局多点广播数据报的副本传送至发送主机。 

    套接字事件流:发送多点广播数据报
    以下套接字调用序列提供图形的描述。它还描述发送和接收多点广播数据报的两个应用程序之间的关系。每一组流包含指向有关特定 API 的使用注意事项的链接。如果需要有关使用特定 API 的更多详细信息,可使用这些链接。发送多点广播数据报使用以下函数调用序列:

    1. socket() 函数返回表示端点的套接字描述符。该语句还标识将对此套接字使用带有 TCP 传输(SOCK_DGRAM)的 INET(网际协议)地址系列。此套接字会将数据报发送至另一应用程序。
    2. sockaddr_in 结构指定目标 IP 地址和端口号。在此示例中,地址为 225.1.1.1,而端口号为 5555
    3. setsockopt() 函数设置 IP_MULTICAST_LOOP 套接字选项,所以发送系统不会接收它传送的多点广播数据报的副本。
    4. setsockopt() 函数使用 IP_MULTICAST_IF 套接字选项,它定义通过其发送多点广播数据报的本地接口。
    5. sendto() 函数将多点广播数据报发送至指定组 IP 地址。
    6. close() 函数关闭所有打开的套接字描述符。

    套接字事件流:接收多点广播数据报
    接收多点广播数据报
    使用以下函数调用序列:

    1. socket() 函数返回表示端点的套接字描述符。该语句还标识将对此套接字使用带有 UDP传输(SOCK_DGRAM)的 INET(网际协议)地址系列。此套接字会将数据报发送至另一应用程序。
    2. setsockopt() 函数设置 SO_REUSEADDR 套接字选项,以允许多个应用程序接收目标为同一本地端口号的数据报。
    3. bind() 函数指定本地端口号。在此示例中,IP 地址被指定为 INADDR_ANY 以接收发送至多点广播组的数据报。
    4. setsockopt() 函数使用 IP_ADD_MEMBERSHIP 套接字选项,它将加入接收数据报的多点广播组。在加入组时,指定 D 类组地址和本地接口的 IP 地址。系统必须对接收多点广播数据报的每个本地接口调用 IP_ADD_MEMBERSHIP 套接字选项。

    注意:

    必须对通过其接收多点广播数据报的每个本地接口调用 IP_ADD_MEMBERSHIP 选项。

    1. read() 函数读取正在发送的多点广播数据报。
    2. close() 函数关闭所有打开的套接字描述符。

     

以上是在网上找的资料,有张图不能直接粘贴,上传也传不上去。

 

 

 

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
多播,IP_MULTICAST_TTL,IP_ADD_MEMBERSHIP,IP_MULTICAST_IF,IP_DROP_MEMBERSHIP
转:setsockopt参数详细说明 | LinuxByte Blog
Linux网络编程之多播
IP组播技术综述
【技术】组播技术详解系列——组播基础
TCP/IP下的组播编程基础
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服