多播套接字选项行为

本页介绍基于各种套接字选项设置状态的多播套接字选项的行为。

例如,本页介绍在同一网络接口上已使用指定的组/源对设置了IP_ADD_SOURCE_MEMBERSHIP选项的套接字上设置了IP_ADD_SOURCE_MEMBERSHIP套接字选项时的行为。 允许在不同的网络接口上调用同一组上的IP_ADD_SOURCE_MEMBERSHIP。

此页面有助于正确设计和排查 Windows 套接字多播应用程序的问题。

初始套接字选项 冲突的后续套接字选项 返回错误 备注
IP_ADD_MEMBERSHIP
IP_ADD_MEMBERSHIP WSAEADDRNOTAVAIL 不要在同一网络接口上多次调用同一组的IP_ADD_MEMBERSHIP。
IP_ADD_SOURCE_MEMBERSHIP WSAEADDRNOTAVAIL 不要使用以前在同一网络接口上使用IP_ADD_MEMBERSHIP调用的同一组调用IP_ADD_SOURCE_MEMBERSHIP。
IP_DROP_SOURCE_MEMBERSHIP WSAEINVAL 请改用 IP_BLOCK_SOURCE。
IP_UNBLOCK_SOURCE WSAEINVAL 尝试取消阻止以前未在同一网络接口上阻止的组/源对时返回错误。
IP_DROP_MEMBERSHIP 同一组或组/源对上的任何后续调用 WSAEINVAL 由于删除成员身份,对当前不在包含列表中的组或组/源对调用套接字选项 (,否则) 会导致错误。
IP_ADD_SOURCE_MEMBERSHIP
IP_ADD_MEMBERSHIP WSAEADDRNOTAVAIL 不要在同一网络接口上调用IP_ADD_SOURCE_MEMBERSHIP之前调用的同一组IP_ADD_MEMBERSHIP。
IP_ADD_SOURCE_MEMBERSHIP WSAEADDRNOTAVAIL 不要在同一网络接口上使用IP_ADD_SOURCE_MEMBERSHIP调用的相同组/源对调用IP_ADD_SOURCE_MEMBERSHIP。
IP_UNBLOCK_SOURCE WSAEINVAL 尝试取消阻止以前未在同一网络接口上阻止的组/源对时返回错误。
IP_DROP_SOURCE_MEMBERSHIP
IP_UNBLOCK_SOURCE WSAEINVAL 尝试取消阻止以前未在同一网络接口上阻止的组/源对时返回错误。
IP_DROP_SOURCE_MEMBERSHIP WSAEADDRNOTAVAIL 尝试删除未在同一网络接口上的包含列表中的组/源对时返回错误。
IP_BLOCK_SOURCE
IP_BLOCK_SOURCE WSAEADDRNOTAVAIL 尝试阻止已在同一网络接口上阻止的组/源对时返回错误。
IP_ADD_SOURCE_MEMBERSHIP WSAEINVAL 请改用 IP_UNBLOCK_SOURCE。
IP_ADD_MEMBERSHIP WSAEINVAL 请改用 IP_UNBLOCK_SOURCE。
IP_UNBLOCK_SOURCE IP_UNBLOCK_SOURCE WSAEADDRNOTAVAIL 尝试取消阻止未在同一网络接口上的阻止列表中的组/源对时返回错误。