Multihoming e PGM
Deve ser dada uma consideração especial aos remetentes ou receptores PGM multihomed. Esta página descreve as considerações e fornece diretrizes para as melhores práticas de programação.
Remetente pgm multihomed
Quando um aplicativo falha ao especificar uma interface ao chamar a função connect , a primeira interface disponível é usada. Se nenhuma interface estiver disponível, a conexão falhará .
Quando um aplicativo especifica uma interface usando a opção de soquete RM_SET_SEND_IF, uma tentativa de associação é feita implicitamente a essa interface usando TCP/IP e falha se o TCP/IP falhar na solicitação de associação. Se a interface for definida usando RM_SET_SEND_IF várias vezes, somente o último conjunto de interfaces será aplicável com êxito.
O Windows Sockets mantém qual interface está definida e, se essa interface desaparecer, a sessão será desconectada.
Receptor PGM multihomed
Quando um aplicativo falha ao especificar uma interface ao chamar a função listen , a interface padrão é usada. Se nenhuma interface estiver disponível, a associação falhará.
Quando um aplicativo especifica uma ou mais interfaces nas quais escutar, usando RM_ADD_RECEIVE_IF, o Windows Sockets tenta associar à interface ou interfaces solicitadas usando TCP/IP. Qualquer erro de TCP/IP faz com que essa solicitação falhe. Ao contrário do caso do remetente PGM, adicionar uma interface de recebimento várias vezes resulta na postagem das escutas em todas as interfaces adicionadas com êxito. Use a opção RM_DEL_RECEIVE_IF soquete para parar de escutar em uma interface.
O Windows Sockets não mantém o estado sobre várias interfaces de escuta especificadas e, em vez disso, depende do TCP/IP para fazer isso. No entanto, quando uma sessão estiver em andamento, o Windows Sockets acompanhará a interface de entrada dessa sessão e, se essa interface desaparecer, o Windows Sockets desconectará a sessão.