Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Para se conectar a uma malha, um nó de mesmo nível requer os endereços IP de outros nós. Os endereços IP são obtidos entrando em contato com um serviço de resolução, que usa o ID de malha e retorna uma lista de endereços correspondentes aos nós registrados com esse ID de malha específico. O resolvedor mantém uma lista de endereços registados, que cria fazendo com que cada nó na malha se registe com o serviço.
Você pode especificar qual serviço PeerResolver utilizar através da propriedade Resolver do NetPeerTcpBinding.
Resolvedores de pares suportados
O Peer Channel suporta dois tipos de resolvedores: PNRP (Peer Name Resolution Protocol) e serviços de resolução personalizados.
Por padrão, o Peer Channel usa o serviço de resolução de pares PNRP para a descoberta de pares e vizinhos na malha. Para situações/plataformas em que o PNRP não está disponível ou não é viável, o Windows Communication Foundation (WCF) fornece um serviço de descoberta alternativo baseado em servidor - o CustomPeerResolverService. Você também pode definir explicitamente um serviço de resolução personalizado escrevendo uma classe que implementa a IPeerResolverContract interface.
Protocolo PNRP (Peer Name Resolution Protocol)
PNRP, o resolvedor padrão para o Windows Vista, é um serviço de resolução de nomes distribuído e sem servidor. O PNRP também pode ser usado no Windows XP SP2 instalando o Advanced Networking Pack. Quaisquer dois clientes que executam a mesma versão do PNRP podem localizar um ao outro usando este protocolo, desde que atendam a certas condições (como a falta de um firewall corporativo interveniente). Observe que a versão do PNRP que acompanha o Windows Vista é mais recente do que a versão incluída no Advanced Networking Pack. Consulte o Centro de Download da Microsoft para atualizações do PNRP para Windows XP SP2.
Serviços de resolução personalizados
Quando o serviço PNRP não estiver disponível ou você quiser controle total sobre a modelagem de malha, poderá usar um serviço de resolução personalizado baseado em servidor. Você pode definir explicitamente esse serviço escrevendo uma classe de resolvedor implementando a IPeerResolverContract interface ou usando a implementação padrão da caixa de entrada, 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 de resolução devem estar cientes do limite superior na latência cliente-servidor para atualizar com êxito os registros a tempo. Isso envolve a escolha de um tempo limite de atualização apropriado (RefreshInterval) no serviço de resolução. (Para obter mais informações, consulte Por dentro do CustomPeerResolverService: registros de cliente.)
O autor da aplicação também deve assegurar a segurança da conexão entre os clientes e o serviço de resolução específico. Você pode fazer isso usando as configurações de segurança no NetTcpBinding que os clientes utilizam para entrar em contato com o serviço de resolução. Você deve especificar credenciais (se usadas) no ChannelFactory usado para criar o Canal Peer. 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 suportam redes de link local ou improvisadas incluam uma lógica que selecione um único endereço de link local para usar ao se conectar. Isso evita qualquer confusão potencialmente causada por computadores com vários endereços de link local. De acordo com isso, o Peer Channel só suporta o uso de um único endereço de link local a qualquer momento. Pode especificar este endereço utilizando a propriedade ListenIpAddress em NetPeerTcpBinding.
Para obter uma demonstração de como implementar um resolvedor personalizado, consulte Peer Channel Custom Peer Resolver.
Na presente seção
Dentro do CustomPeerResolverService: Registros de cliente