关于组播和WSAJoinLeaf

1. WSASocket的参数 WSA_FLAG_MULTIPOINT_C_LEAF,WSA_FLAG_MULTIPOINT_D_LEAF用于创建一个无根套接字,简单说就是组播组里面各成员是平等的,而
有根的话是有一个主成员,就好比一个服务器对多个客户端模式,具体解释可参考。有根模式是用于ATM协议的,IP协议用的都是无根
模式。
2. WSAJoinLeaf仅仅用于加入组播组,一个组是用组播地址确定的,因此name参数中不需要指定端口,但话说仅仅这样做是没有意义的,因为加入一个组
目的就是为了接收数据,而接收数据是必须要绑定端口的,如果仅仅是为了向组发送数据,没有必要非加入那个组,只要按普通UDP那样指定地址为组播地址
,端口为该组的绑定端口调用sendto,即可向组发送数据。
3.前面说过,加入组并且想接收组播数据,就必须绑定一个本地接收端口号。
4.对于无根类型,WSAJoinLeaf的传入socket和返回socket是同一个socket,他们均可以用来收发数据。当然了,通常在设计的时候,接收和发送套接字分开
使用,所以一般一个作为发送,一个作为接收。

你可能感兴趣的:(网络技术)