Différences sémantiques entre les sockets multipoint et les sockets standard
Dans le plan de contrôle, il existe des différences sémantiques significatives entre un _ Socket racine c et un socket point à point standard :
- Le _ Socket racine c peut être utilisé dans WSAJoinLeaf pour joindre une nouvelle feuille.
- Le fait de placer un _ Socket racine c en mode d’écoute (en appelant Listen) n’empêche pas le _ Socket racine c d’être utilisé dans un appel à WSAJoinLeaf pour ajouter une nouvelle feuille, ou pour envoyer et recevoir des données multipoint.
- La fermeture d’un _ Socket racine c amène tous les _ sockets de feuille c associés à obtenir une _ notification FD Close.
Il n’existe aucune différence sémantique entre un _ Socket feuille c et un socket standard dans le plan de contrôle, sauf que le _ Socket feuille c peut être utilisé dans WSAJoinLeafet que l’utilisation du _ Socket feuille c dans Listen indique que seules les demandes de connexion multipoint doivent être acceptées.
Dans le plan de données, les différences sémantiques entre le _ Socket racine d et un socket point à point standard sont les suivantes :
- Les données envoyées sur le _ Socket racine d sont remises à tous les feuilles de la même session multipoint.
- Les données reçues sur le _ Socket racine d peuvent provenir de n’importe lequel des feuilles.
Le _ Socket de feuille d dans le plan de données enraciné n’a pas de différence sémantique par rapport au socket normal. Toutefois, dans le plan de données non enraciné, les données envoyées sur le _ Socket feuille d sont envoyées à tous les autres nœuds terminaux, et les données reçues peuvent provenir de n’importe quel autre nœud feuille. Comme nous l’avons vu précédemment, les informations indiquant si le _ Socket feuille d se trouve dans un plan de données associé ou non dans la racine sont contenues dans la structure d' _ informations WSAPROTOCOL correspondante pour le Socket.