Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Para conectarse a una malla, un nodo del mismo nivel requiere las direcciones IP de otros nodos. Las direcciones IP se obtienen poniéndose en contacto con un servicio de resolución, que toma el identificador de malla y devuelve una lista de direcciones correspondientes a los nodos registrados con ese identificador de malla concreto. El solucionador mantiene una lista de direcciones registradas, que crea al tener cada nodo en el registro de malla con el servicio.
Puede especificar el servicio PeerResolver que se va a usar a través de la Resolver propiedad de NetPeerTcpBinding.
Solucionadores del mismo nivel admitidos
El canal del mismo nivel admite dos tipos de solucionadores: Protocolo de resolución de nombres del mismo nivel (PNRP) y servicios de resolución personalizados.
De forma predeterminada, el canal del mismo nivel usa el servicio de resolución del mismo nivel PNRP para la detección de elementos del mismo nivel y vecinos en la malla. En situaciones o plataformas en las que PNRP no está disponible o es factible, Windows Communication Foundation (WCF) proporciona un servicio de detección alternativo basado en servidor: .CustomPeerResolverService También puede definir explícitamente un servicio de resolución personalizado escribiendo una clase que implemente la IPeerResolverContract interfaz.
Protocolo de resolución de nombres del mismo nivel (PNRP)
PNRP, el solucionador predeterminado para Windows Vista, es un servicio de resolución de nombres distribuido sin servidor. PNRP también se puede usar en Windows XP SP2 instalando advanced Networking Pack. Los dos clientes que ejecutan la misma versión de PNRP pueden localizarse entre sí mediante este protocolo, siempre que cumplan ciertas condiciones (como la falta de un firewall corporativo intermedio). Tenga en cuenta que la versión de PNRP que se incluye con Windows Vista es más reciente que la versión incluida en advanced Networking Pack. Compruebe el Centro de descarga de Microsoft para obtener actualizaciones de PNRP para Windows XP SP2.
Servicios de resolución personalizados
Cuando el servicio PNRP no está disponible o desea un control completo sobre la forma de malla, puede usar un servicio de resolución personalizado basado en servidor. Para definir explícitamente este servicio, escriba una clase de resolución que implemente la IPeerResolverContract interfaz o mediante la implementación predeterminada de la caja, CustomPeerResolverService.
En la implementación predeterminada del servicio, los registros de cliente expiran después de una determinada cantidad de tiempo si el cliente no actualiza explícitamente el registro. Los clientes que usan el servicio de resolución deben tener en cuenta el límite superior en la latencia del servidor cliente para actualizar correctamente los registros en el tiempo. Esto implica elegir un tiempo de espera de actualización adecuado (RefreshInterval) en el servicio de resolución. (Para obtener más información, vea Inside the CustomPeerResolverService: Client Registrations).)
El escritor de aplicaciones también debe considerar la posibilidad de proteger la conexión entre los clientes y el servicio de resolución personalizado. Puede hacerlo mediante la configuración de seguridad de que los NetTcpBinding clientes usan para ponerse en contacto con el servicio de resolución. Debe especificar las credenciales (si se usan) en el ChannelFactory usado para crear el canal del mismo nivel. Estas credenciales se pasan al ChannelFactory utilizado para crear canales en el solucionador personalizado.
Nota:
Al usar redes locales e impromptu con una resolución personalizada, se recomienda encarecidamente que las aplicaciones que usen o admita redes locales de vínculo o impromptu incluyan lógica que seleccione una única dirección local de vínculo que se usará al conectarse. Esto evita cualquier confusión posiblemente causada por equipos con varias direcciones locales de vínculo. De acuerdo con esto, el canal del mismo nivel solo admite el uso de una sola dirección local de vínculo en cualquier momento. Puede especificar esta dirección con la ListenIpAddress propiedad en .NetPeerTcpBinding
Para obtener una demostración de cómo implementar una resolución personalizada, consulte Resolución del mismo nivel personalizada del canal del mismo nivel.
En esta sección
Dentro de CustomPeerResolverService: Registros de cliente