Я изучал пространство имен для System.Net.PeerToPeer в .NET 4.0, а классы, представленные в этой библиотеке, по-видимому, достаточно хороши для построения сетей P2P. Однако, когда я ищу примеры и ссылки, я могу найти только старые устаревшие примеры или ссылки, которые просто указывают на документацию MSDN. Похоже, что не слишком много людей используют эту библиотеку и что в этот продукт не так много усилий. Кто-нибудь знает о проблемах с этой библиотекой, о которых я не знаю, может убедить меня не использовать ее? Я видел, что более старые версии окон не поддерживают его, но это не шоу-стоппер для меня. Есть ли еще что-нибудь?Какие-либо проблемы с библиотекой System.Net.PeerToPeer?
ответ
Этот API основано на PNRP. Для этого требуется подключение IPv6 (по крайней мере, через Teredo); это обычно недоступно в современных установках и требует административных усилий для его настройки. Я считаю, что это основная причина, по которой в этом так мало интереса.
Я должен не согласиться с предыдущим ответом.
Хотя механизмы P2P, встроенные в .NET, используют PNRP, ограниченные примеры онлайн имеют больше общего с незнанием разработчика, чем с любыми сетевыми ограничениями.
Я разработал довольно сложное приложение P2P, используя одноранговый канал/netPeerTcpBinding. Это приложение работает практически без проблем в Windows XP SP3 или выше и работает через Интернет.
IPv6 установлен и включен по умолчанию на XP SP3 +, как и любой другой компонент, требуемый PNRP. Это означает, что, вероятно, 95% вашей потенциальной базы установки уже имеют все предварительные условия для вашего приложения.
Да, на локальной машине должны быть разблокированы определенные порты, но это может сделать ваш установщик очень легко. В самой сетевой инфраструктуре не требуется явно блокировать Teredo, который работает через порт UDP 3544. Версия 2 PNRP (XP SP3 +) работает во всех вариантах NAT.
Пока эти условия соблюдены, вы можете легко настроить сетку P2P через общедоступный Интернет без каких-либо изменений в вашей существующей сетевой инфраструктуре.
- 1. Проблемы с импортом/библиотекой?
- 2. Python - Проблемы с библиотекой
- 3. Проблемы с библиотекой Google
- 4. Проблемы с библиотекой WinMM
- 5. Проблемы с библиотекой с gcc
- 6. Проблемы с библиотекой BOOST C++
- 7. XE5 Проблемы с библиотекой RestClient
- 8. Проблемы с библиотекой eclipse sfml
- 9. Проблемы с разделяемой библиотекой Linux
- 10. Проблемы с библиотекой ссылок C++
- 11. Проблемы с библиотекой Scala Swing
- 12. проблемы с библиотекой Chart IOS
- 13. Проблемы с библиотекой QWT/creator
- 14. Связать проблемы с библиотекой скручивания
- 15. Проблемы с C# с библиотекой планировщика заданий
- 16. Проблемы с компоновщиками с библиотекой POCO
- 17. проблемы с библиотекой волейбола и запросом json
- 18. Android Studio - рендеринг проблемы с библиотекой поддержки
- 19. Проблемы с собственной библиотекой и компоновщиком C++
- 20. Проблемы с библиотекой iostream и gcc
- 21. Проблемы с библиотекой geotools для создания .jar?
- 22. Проблемы с библиотекой ANN в Fedora
- 23. Имея проблемы с библиотекой ant jsch
- 24. проблемы с общей библиотекой на linux
- 25. Проблемы с библиотекой StandardCplusplus в Arduino
- 26. Проблемы с библиотекой BigInt в C++
- 27. Проблемы с библиотекой GMP и C++
- 28. Проблемы с библиотекой сборки Visual C++
- 29. Проблемы со статической библиотекой iPhone с симулятором
- 30. Проблемы с библиотекой при компиляции приложения IOS
Возможно ли опубликовать какой-либо код на столбе/github или хотя бы одну строку, чтобы я мог ответить на мой вопрос? http://stackoverflow.com/questions/6924814 – balexandre
['NetPeerTcpBinding'] (https://msdn.microsoft.com/en-us/library/system.servicemodel.netpeertcpbinding%28v=vs.110%29.aspx) по-видимому, был устаревшим в .NET 4.5. –