Ejemplo PeerToPeer Technology
Actualización: noviembre 2007
En este ejemplo se muestra cómo se utilizan las nuevas clases del espacio de nombres System.Net.PeerToPeer para registrar y publicar un nombre del mismo nivel y, a continuación, resolver un nombre del mismo nivel.
Para obtener información sobre el uso de los ejemplos, vea los temas siguientes:
Para generar el ejemplo desde el símbolo del sistema
Abra la ventana del símbolo del sistema y navegue hasta el subdirectorio CS, situado en el directorio PNRPSample. Para obtener información sobre la configuración requerida y el símbolo del sistema de SDK, vea Cómo: Establecer la configuración de los ejemplos.
Escriba msbuild PNRPSample.sln en la línea de comandos. Este comando generará las aplicaciones PublishPeerName y ResolvePeerName.
Para generar el ejemplo mediante Visual Studio
Abra el Explorador de Windows y navegue hasta el subdirectorio CS, situado en el directorio PNRPSample.
Haga doble clic en el icono de PNRPSample.sln para abrir el archivo en Visual Studio.
En el menú Generar, seleccione Generar solución.
Las aplicaciones PublishPeerName y ResolvePeerName se generan en el directorio \bin predeterminado o \bin\Debug predeterminado.
Para ejecutar el ejemplo
Navegue hasta el directorio que contiene los nuevos archivos ejecutables a través de la ventana del símbolo del sistema.
Escriba PublishPeerName.exe en la línea de comandos con los argumentos de línea de comandos adecuados para ejecutar la aplicación PublishPeerName.
Escriba ResolvePeerName.exe en la línea de comandos con los parámetros adecuados para ejecutar la aplicación ResolvePeerName y probar la aplicación PublishPeerName.
Requisitos
Este ejemplo requiere .NET Framework v2.0 SP1, v3.0 SP1 o v3.5. Este ejemplo es compatible con Windows Vista (todas las SKU excepto Windows Vista Starter Edition), Windows Server 2008 y Windows XP (vea https://support.microsoft.com/default.aspx/kb/920342).
Demostraciones
Se han agregado una serie de clases nuevas en los espacios de nombres System.Net.PeerToPeer y System.Net.PeerToPeer.Collaboration que admiten conexión de red punto a punto y colaboración para compartir recursos entre elementos del mismo nivel.
En este ejemplo se muestra cómo se utiliza el Protocolo de resolución de nombres del mismo nivel (PNRP), una tecnología de resolución de nombres sin servidor, para publicar y resolver un objeto PeerName. Permite que una aplicación cree un identificador (lo que se conoce como "nombre del mismo nivel"), asocie el identificador con datos (por ejemplo, una dirección IP, un número de puerto y el objeto binario de datos) y publica esta información para que otros elementos del mismo nivel puedan resolverlo. El ejemplo contiene dos proyectos. En el ejemplo PublishPeerName se describe cómo se crea y se publica un nombre del mismo nivel. En el ejemplo ResolvePeerName se muestra cómo se resuelve un nombre del mismo nivel.
La aplicación PublishPeerName requiere cinco parámetros de línea de comandos.
PublishPeerName.exe <peerNameClassifier> <peerNameType> <portNum> <comment> <cloudName:Available|AllLinkLocal|Global>
Los parámetros son los siguientes:
peerNameClassifier: una cadena definida por el usuario que se va a utilizar como clasificador en el nombre del mismo nivel que se va a publicar.
PeerNameType: determina el tipo de nombre del mismo nivel que se va a crear y registrar. Los valores admitidos son Secured y Unsecured.
portNum: número de puerto local que se va a asociar con el nombre del mismo nivel cuando se registre.
comment: cadena de comentario que se va a asociar al nombre del mismo nivel. Esta cadena también se publica y se resuelve en clientes PNRP.
cloudName: ámbito en el que se publicará el nombre del mismo nivel. Los valores admitidos son Available, AllLinkLocal y Global.
A continuación, se muestra un ejemplo de uso:
PublishPeerName.exe MyClassifier Secured 8000 CommentString Available
La aplicación ResolvePeerName requiere un parámetro de línea de comandos.
ResolvePeerName.exe <peerNameToResolve>
Los parámetros son los siguientes:
- peerNameToResolve: nombre del mismo nivel que la aplicación intentará resolver.
Si la aplicación ResolvePeerName funciona correctamente, se muestran los resultados de la resolución del nombre del mismo nivel.