多播套接字选项行为
本页介绍基于各种套接字选项设置状态的多播套接字选项的行为。
例如,本页介绍在同一网络接口上已使用指定的组/源对设置了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 | 尝试取消阻止未在同一网络接口上的阻止列表中的组/源对时返回错误。 |