Multihoming und PGM
Besonderes Augenmerk muss auf multihomed PGM-Absender oder -Empfänger gelegt werden. Auf dieser Seite werden die Überlegungen beschrieben und Richtlinien für bewährte Programmiermethoden bereitgestellt.
Multihomed PGM Sender
Wenn eine Anwendung beim Aufrufen der Verbindungsfunktion keine Schnittstelle angeben kann, wird die erste verfügbare Schnittstelle verwendet. Wenn keine Schnittstelle verfügbar ist, schlägt die Verbindung fehl.
Wenn eine Anwendung eine Schnittstelle mithilfe der RM_SET_SEND_IF Socketoption angibt, wird implizit ein Bindungsversuch an diese Schnittstelle unter Verwendung von TCP/IP durchgeführt und schlägt fehl, wenn die Bindungsanforderung von TCP/IP fehlschlägt. Wenn die Schnittstelle mehrmals mit RM_SET_SEND_IF festgelegt wird, ist nur der letzte Schnittstellensatz erfolgreich anwendbar.
Windows Sockets verwaltet, welche Schnittstelle festgelegt ist, und wenn diese Schnittstelle nicht mehr vorhanden ist, wird die Sitzung getrennt.
Multihomed PGM-Empfänger
Wenn eine Anwendung beim Aufrufen der Listenfunktion keine Schnittstelle angeben kann, wird die Standardschnittstelle verwendet. Wenn keine Schnittstelle verfügbar ist, schlägt die Bindung fehl.
Wenn eine Anwendung eine oder mehrere Schnittstellen angibt, die mit RM_ADD_RECEIVE_IF überwacht werden sollen, versucht Windows Sockets, mithilfe von TCP/IP eine Bindung an die angeforderte Schnittstelle oder Schnittstellen zu erstellen. Jeder Fehler von TCP/IP führt dazu, dass diese Anforderung fehlschlägt. Im Gegensatz zum PGM-Absender führt das mehrfache Hinzufügen einer Empfangsschnittstelle dazu, dass die Listen für alle erfolgreich hinzugefügten Schnittstellen veröffentlicht werden. Verwenden Sie die RM_DEL_RECEIVE_IF-Socketoption, um die Überwachung an einer Schnittstelle zu beenden.
Windows Sockets behält nicht den Zustand über mehrere angegebene Lauschschnittstellen bei, sondern setzt dafür auf TCP/IP. Sobald eine Sitzung ausgeführt wird, verfolgen Windows Sockets jedoch die eingehende Schnittstelle für diese Sitzung, und wenn diese Schnittstelle nicht mehr vorhanden ist, trennt Windows Sockets die Sitzung.