Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This page describes the behavior of multicast socket options based on various socket option settings states.
For example, this page describes the behavior when the IP_ADD_SOURCE_MEMBERSHIP socket option is set on a socket for which the IP_ADD_SOURCE_MEMBERSHIP option has already been set with the specified group/source pair on the same network interface. It is permitted to call IP_ADD_SOURCE_MEMBERSHIP on the same group on a different network interface.
This page assists in properly designing and troubleshooting Windows Sockets multicast applications.
Initial socket option | Conflicting subsequent socket option | Error returned | Remarks |
---|---|---|---|
IP_ADD_MEMBERSHIP |
IP_ADD_MEMBERSHIP | WSAEADDRNOTAVAIL | Do not call IP_ADD_MEMBERSHIP with the same group more than once on the same network interface. |
IP_ADD_SOURCE_MEMBERSHIP | WSAEADDRNOTAVAIL | Do not call IP_ADD_SOURCE_MEMBERSHIP with the same group previously called with IP_ADD_MEMBERSHIP on the same network interface. | |
IP_DROP_SOURCE_MEMBERSHIP | WSAEINVAL | Use IP_BLOCK_SOURCE instead. | |
IP_UNBLOCK_SOURCE | WSAEINVAL | Returns an error when attempting to unblock a group/source pair that has not previously been blocked on the same network interface. | |
IP_DROP_MEMBERSHIP | Any subsequent call on the same group or group/source pair | WSAEINVAL | Making socket option calls on a group or group/source pair not currently in the inclusion list (due to dropping membership, or otherwise) results in an error. |
IP_ADD_SOURCE_MEMBERSHIP |
IP_ADD_MEMBERSHIP | WSAEADDRNOTAVAIL | Do not call IP_ADD_MEMBERSHIP with the same group previously called with IP_ADD_SOURCE_MEMBERSHIP on the same network interface. |
IP_ADD_SOURCE_MEMBERSHIP | WSAEADDRNOTAVAIL | Do not call IP_ADD_SOURCE_MEMBERSHIP with the same group/source pair previously called with IP_ADD_SOURCE_MEMBERSHIP on the same network interface. | |
IP_UNBLOCK_SOURCE | WSAEINVAL | Returns an error when attempting to unblock a group/source pair that has not previously been blocked on the same network interface. | |
IP_DROP_SOURCE_MEMBERSHIP |
IP_UNBLOCK_SOURCE | WSAEINVAL | Returns an error when attempting to unblock a group/source pair that has not previously been blocked on the same network interface. |
IP_DROP_SOURCE_MEMBERSHIP | WSAEADDRNOTAVAIL | Returns an error when attempting to drop a group/source pair that is not in the inclusion list on the same network interface. | |
IP_BLOCK_SOURCE |
IP_BLOCK_SOURCE | WSAEADDRNOTAVAIL | Returns an error when attempting to block a group/source pair that is already blocked on the same network interface. |
IP_ADD_SOURCE_MEMBERSHIP | WSAEINVAL | Use IP_UNBLOCK_SOURCE instead. | |
IP_ADD_MEMBERSHIP | WSAEINVAL | Use IP_UNBLOCK_SOURCE instead. | |
IP_UNBLOCK_SOURCE | IP_UNBLOCK_SOURCE | WSAEADDRNOTAVAIL | Returns an error when attempting to unblock a group/source pair that is not in the blocked list on the same network interface. |