Platform SDK: Windows Sockets

Semantic Differences Between Multipoint Sockets and Regular Sockets in the SPI

In the control plane, there are some significant semantic differences between a c_root socket and a regular point-to-point socket:

There are no semantic differences between a c_leaf socket and a regular socket in the control plane, except that the c_leaf socket can be used in WSPJoinLeaf, and the use of c_leaf socket in WSPListen indicates that only multipoint connection requests should be accepted.

In the data plane, the semantic differences between the d_root socket and a regular point-to-point socket are

The d_leaf socket in the rooted data plane has no semantic difference from the regular socket, however, in the nonrooted data plane, the data sent on the d_leaf socket will go to all the other leaf nodes, and the data received could be from any other leaf nodes. As mentioned earlier, the information about whether the d_leaf socket is in a rooted or nonrooted data plane is contained in the corresponding WSAPROTOCOL_INFOW structure for the socket.