He estado buscando en el espacio de nombres de System.Net.PeerToPeer en .NET 4.0 y las clases proporcionadas en esta biblioteca parecen ser razonablemente buenas para construir redes P2P. Sin embargo, cuando busco ejemplos y referencias, solo puedo encontrar ejemplos obsoletos o referencias que simplemente apuntan a la documentación de MSDN. Parece que no muchas personas están usando esta biblioteca y que no se está haciendo demasiado esfuerzo en este producto. ¿Alguien sabe de problemas con esta biblioteca que yo no conozco y que podrían persuadirme de no usarlo? Vi que las versiones anteriores de Windows no eran compatibles, pero eso no es un obstáculo para mí. ¿Hay algo mas?¿Tiene problemas con la biblioteca System.Net.PeerToPeer?
Respuesta
Esta API se basa en PNRP. Requiere conectividad IPv6 (al menos a través de Teredo); esto generalmente no está disponible en las instalaciones actuales y requiere un esfuerzo administrativo para configurarlo. Creo que esa es la razón principal por la que hay tan poco interés en eso.
Tengo que estar en desacuerdo con la respuesta anterior.
Si bien los mecanismos P2P incorporados en .NET usan PNRP, los ejemplos limitados en línea tienen más que ver con la ignorancia del desarrollador que con cualquier limitación de red.
He desarrollado una aplicación P2P bastante compleja usando el canal par/netPeerTcpBinding. Esta aplicación funciona prácticamente sin problemas en Windows XP SP3 o superior, y funciona a través de Internet.
IPv6 está instalado y habilitado por defecto en XP SP3 +, al igual que cualquier otro componente requerido por PNRP. Esto significa que probablemente el 95% de su base de instalación potencial ya tenga todos los prerrequisitos para su aplicación.
Sí, la máquina local necesita tener ciertos puertos desbloqueados, pero esto lo puede hacer su instalador muy fácilmente. La infraestructura de red en sí misma no necesita bloquear explícitamente a Teredo, que opera a través del puerto UDP 3544. La versión 2 de PNRP (XP SP3 +) funciona sobre todas las variantes de NAT.
Mientras se cumplan esas condiciones, puede configurar con bastante facilidad una malla P2P en Internet pública sin cambios en su infraestructura de red existente.
- 1. Tiene problemas con node-sqlserver en node.js
- 2. Tiene problemas con repeatinterval cada 30 minutos
- 3. Selenium RC Tiene problemas con XPath
- 4. Python - Problemas de biblioteca
- 5. Emulador de Android que tiene problemas con la geolocalización
- 6. ¿Tiene GIT problemas gemelos malvados?
- 7. Tiene problemas para comenzar con Moq y Nunit
- 8. ¿Python tiene decoradores en la biblioteca estándar?
- 9. C# Crystal ¿Tiene problemas con el informe y el gráfico?
- 10. Tiene problemas con el gráfico de barras jqPlot
- 11. Mesas temporales en Linq - ¿Alguien tiene problemas con esto?
- 12. Grails Problemas con la transacción
- 13. Problemas con la aplicación web
- 14. Problemas con la ampliación API
- 15. problemas con la función strtolower
- 16. Solución de problemas "La declaración de uso con nombre no compuesto ... no tiene efecto"
- 17. Problemas con el uso de la biblioteca de Jackson-JSON utilizando Proguard
- 18. ¿El lenguaje D tiene múltiples bibliotecas estándar y problemas con GC?
- 19. Problemas con javadoc
- 20. ¿Por qué la biblioteca estándar tiene find y find_if?
- 21. ¿Objective-C tiene una biblioteca estándar?
- 22. Problemas con la paginación y la clasificación
- 23. Problemas con la captura en PowerShell
- 24. Problemas con la gramática de limón (¿prioridad?)
- 25. Problemas con TreeView.DrawNode - OwnerDrawText
- 26. Problemas con RODBC sqlSave
- 27. Problemas con la carga de recursos durante la ejecución
- 28. Problemas con Carrierwave: convertir
- 29. Tiene problemas para leer/escribir el php: // temp corriente
- 30. ¿Alguien tiene alguna experiencia con SSEPlus?
¿es posible publicar algún código en una publicación/github o al menos una línea para que pueda resolver mi respuesta? http://stackoverflow.com/questions/6924814 – balexandre
['NetPeerTcpBinding'] (https://msdn.microsoft.com/en-us/library/system.servicemodel.netpeertcpbinding%28v=vs.110%29.aspx) parece haber quedado obsoleto en .NET 4.5, lamentablemente. –