Udostępnij przez


Multihoming i PGM

Należy zwrócić szczególną uwagę na wieloadresowych nadawców lub odbiorników PGM. Ta strona zawiera opis zagadnień i wskazówki dotyczące najlepszych rozwiązań programistycznych.

Wielohomingowy Nadawca PGM

Gdy aplikacja nie może określić interfejsu podczas wywoływania funkcji connect, jest używany pierwszy dostępny interfejs. Jeśli interfejs nie jest dostępny, połączenie zakończy się niepowodzeniem.

Gdy aplikacja określa interfejs przy użyciu opcji gniazda RM_SET_SEND_IF, próba powiązania jest niejawnie podejmowana dla tego interfejsu przy użyciu protokołu TCP/IP i kończy się niepowodzeniem, jeśli żądanie powiązania TCP/IP zakończy się niepowodzeniem. Jeśli interfejs jest ustawiany przy użyciu RM_SET_SEND_IF wiele razy, tylko ostatnio ustawiony interfejs jest stosowany.

Windows Sockets utrzymuje, który interfejs jest ustawiony, a jeśli ten interfejs zniknie, sesja zostanie rozłączona.

Wieloadresowy odbiornik PGM

Gdy aplikacja nie może określić interfejsu podczas wywoływania funkcji nasłuchiwania, jest używany interfejs domyślny. Jeśli interfejs nie jest dostępny, wiązanie zakończy się niepowodzeniem.

Gdy aplikacja określa co najmniej jeden interfejs, na którym ma nasłuchiwać, używając RM_ADD_RECEIVE_IF, Windows Sockets próbuje powiązać się z żądanym interfejsem lub interfejsami za pomocą TCP/IP. Błąd protokołu TCP/IP powoduje niepowodzenie tego żądania. W przeciwieństwie do przypadku nadawcy PGM, dodanie interfejsu odbiorczego wielokrotnie skutkuje ustanowieniem nasłuchiwania na wszystkich pomyślnie dodanych interfejsach. Użyj opcji gniazda RM_DEL_RECEIVE_IF, aby zatrzymać nasłuchiwanie w interfejsie.

Windows Sockets nie utrzymuje stanu wielu określonych interfejsów nasłuchiwania, a zamiast tego opiera się na TCP/IP, aby to zrobić. Gdy jednak sesja będzie w toku, gniazda systemu Windows śledzą interfejs przychodzący dla tej sesji, a jeśli ten interfejs zniknie, gniazda systemu Windows rozłączają sesję.