С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/25: Рейтинг темы: голосов - 25, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 29.03.2015
Сообщений: 2

Реализовать UDP hole punching для прямой передачи информации между двумя компьютерами, находящимися за NAT

29.03.2015, 22:15. Показов 5548. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу реализовать UDP hole punching для прямой передачи информации между двумя компьютерами, находящимися за NAT.
Пока пытаюсь проверить в "ручном" режиме. Оба компа отправляют запрос на STUN-сервер, и получают от него ответ о виде NAT и внешний IP и порт (в данном случае, у обоих Port_Restricted_Cone, preserves ports, 1-й - 192.162.143.109:6665, 2-й - 46.119.203.241:9000).
После этого вношу соответствующие данные настройки программы и каждый из компьютеров отсылает циклически UDP сообщения и пытается принять входящие:

1-й - через свой порт 6665 на 46.119.203.241:9000
2-й - через свой порт 9000 на 192.162.143.109:6665

по идее, первые из данных сообщений должны пропасть, но последующие начать приходить.

Но сообщения не доходят.

Что я не так делаю или что не так понимаю?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.03.2015, 22:15
Ответы с готовыми решениями:

Организация передачи данных между двумя компьютерами
Меня интересуют методы передачи данных от компьютера к компьютеру без посредников, TCP/IP и портов.

TCP hole punching не работает
Привет! Пытаюсь реализовать в своей программе данную (TCP hole punching) технологию. Что имеется: Сервер А. Клиент B за NAT. ...

Мессенджер для передачи сообщений напрямую между компьютерами
Вообщем посоны. Не уверен, что я по адресу, если что модератор перенесет. Меня интересует возможность создания такого вот простенького...

2
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
29.03.2015, 22:28
Лучший ответ Сообщение было отмечено Olexiy как решение

Решение

Olexiy, ответ от STUN'а приходит правильный? Должно быть что-то в таком духе:
C#
1
2
3
4
5
6
7
8
string address = String.Empty;
udpClient = new UdpClient();
udpClient.AllowNatTraversal(true);
ResultSTUN result = ClientSTUN.Query("stun.ekiga.net", 3478, udpClient.Client);
if (result.NetType == UDP_BLOCKED) 
  /* обработка ошибки */ 
else 
  address = result.PublicEndPoint.ToString();
Добавлено через 1 минуту
http://www.codeproject.com/Art... TUN-Client
0
0 / 0 / 0
Регистрация: 29.03.2015
Сообщений: 2
29.03.2015, 22:42  [ТС]
Да, именно такого клиента использую. Может даже с той же страницы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.03.2015, 22:42
Помогаю со студенческими работами здесь

Написать функцию для вычисления интервала времени в секундах между двумя моментами, находящимися внутри двенадцатичасового цикла
Напишите функцию, которая воспринимает как три целых аргумента (часы, минуты и секунды) и возвращает количество секунд, прошедших со...

Реализовать работу очереди передачи сообщений между двумя ПК в компьютерной сети
Всем привет! есть условие: Реализовать работу очереди передачи сообщений между двумя ПК в компьютерной сети. Сообщение содержит IP адрес...

Низкая скорость передачи данных между компьютерами
Привет. Недавно в квартире появился ноутбук, и я купил роутер DLink DIR-815/AC. Имеется десктоп с Win7, подключенный к...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru