Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Para se conectar a uma malha, um nó par requer os endereços IP de outros nós. Os endereços IP são obtidos entrando em contato com um serviço resolvedor, que usa a ID da malha e retorna uma lista de endereços correspondentes a nós registrados com essa ID de malha específica. O resolvedor mantém uma lista de endereços registrados, que ele cria com cada nó no registro de malha com o serviço.
Você pode especificar qual serviço PeerResolver usar por meio da propriedade Resolver do NetPeerTcpBinding.
Resolvedores de pares compatíveis
O Peer Channel dá suporte a dois tipos de resolvedores: PNRP (Peer Name Resolution Protocol) e serviços de resolvedor personalizados.
Por padrão, o Canal par usa o serviço de resolvedor de pares PNRP para descoberta de pares e vizinhos na malha. Para situações/plataformas em que o PNRP não está disponível ou viável, o WCF (Windows Communication Foundation) fornece um serviço de descoberta alternativo baseado em servidor – o CustomPeerResolverService. Você também pode definir explicitamente um serviço de resolvedor personalizado escrevendo uma classe que implementa a IPeerResolverContract interface.
Protocolo PNRP (Peer Name Resolution Protocol)
O PNRP, o resolvedor padrão do Windows Vista, é um serviço de resolvedor de nomes distribuído e sem servidor. O PNRP também pode ser usado no Windows XP SP2 instalando o Pacote de Rede Avançado. Todos os dois clientes que executam a mesma versão do PNRP podem se localizar usando esse protocolo, desde que atendam a determinadas condições (como a falta de um firewall corporativo intervindo). Observe que a versão do PNRP que é fornecida com o Windows Vista é mais recente do que a versão incluída no Pacote de Rede Avançado. Verifique se há atualizações no PNRP para Windows XP SP2 no Centro de Download da Microsoft.
Serviços Personalizados de Resolução
Quando o serviço PNRP estiver indisponível ou você quiser um controle completo sobre a formatação de malha, você poderá usar um serviço de resolvedor personalizado baseado em servidor. Você pode definir explicitamente esse serviço escrevendo uma classe resolvedora implementando a IPeerResolverContract interface ou usando a implementação padrão in-box. CustomPeerResolverService
Sob a implementação padrão do serviço, os registros do cliente expiram após um determinado período de tempo se o cliente não atualizar explicitamente o registro. Os clientes que usam o serviço resolvedor devem estar cientes do limite superior na latência cliente-servidor para atualizar os registros com êxito a tempo. Isso envolve a escolha de um tempo limite de atualização apropriado (RefreshInterval) no serviço resolvedor. (Para obter mais informações, consulte Inside the CustomPeerResolverService: Client Registrations.)
O desenvolvedor de aplicativos também deve considerar a proteção da conexão entre clientes e o serviço de resolvedor personalizado. Você pode fazer isso usando as configurações de segurança no NetTcpBinding que os clientes usam para entrar em contato com o serviço de resolvedor. Você deve especificar credenciais (se usadas) no ChannelFactory usado para criar o Peer Channel. Essas credenciais são passadas para o ChannelFactory usado para criar canais para o resolvedor personalizado.
Observação
Ao usar redes locais e improvisadas com um resolvedor personalizado, é altamente recomendável que os aplicativos que usam ou dão suporte a redes locais ou improvisadas incluam lógica que seleciona um único endereço link-local a ser usado ao se conectar. Isso evita qualquer confusão potencialmente causada por computadores com vários endereços locais de link. De acordo com isso, o Peer Channel só dá suporte ao uso de um único endereço local de link a qualquer momento. Você pode especificar esse endereço com a propriedade ListenIpAddress no NetPeerTcpBinding.
Para obter uma demonstração de como implementar um resolvedor personalizado, consulte Peer Channel Custom Peer Resolver.
Nesta seção
Dentro do CustomPeerResolverService: Registros de Cliente