Russian Qt Forum
Ноябрь 23, 2024, 11:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTcpServer за NAT  (Прочитано 5577 раз)
crashsp
Гость
« : Январь 06, 2011, 18:48 »

Пишу клиент/сервер все окей  если сервер имеет белый  ip,  но 
каким образом можно установить прямое соединения при условиях что сам QTcpServer спрятан за NAT ??
Кто нить реализовывал что нить подобное, с чего начать действовать )??
Благодарю....
Записан
brankovic
Гость
« Ответ #1 : Январь 06, 2011, 20:05 »

Можно пробросить порт на нат.

Если к нату доступа нет, то можно сделать обратный коннект с сервера на клиент, если клиент сам имеет внешний ip или проброшенный порт на своём нате.

Если и клиент и сервер находятся оба за натом, то связаться можно только через прокси.

Это всё свойства tcp/udp, QTcpServer тут не виноват но и не поможет ничем.
Записан
crashsp
Гость
« Ответ #2 : Январь 07, 2011, 21:01 »

Спасиб !
Записан
Ubuntu_linux
Гость
« Ответ #3 : Январь 09, 2011, 02:49 »

Можно пробросить порт на нат.

Если к нату доступа нет, то можно сделать обратный коннект с сервера на клиент, если клиент сам имеет внешний ip или проброшенный порт на своём нате.

Если и клиент и сервер находятся оба за натом, то связаться можно только через прокси.

Это всё свойства tcp/udp, QTcpServer тут не виноват но и не поможет ничем.
Класная идея, обратного конекта! Могу подкинуть свою идейку . Я для передачи адресов клиенту или серверу, что б они знали друг друга, использую  месенджер джабер, а потом прямой коннект  по ип.
Записан
crashsp
Гость
« Ответ #4 : Январь 10, 2011, 20:12 »

Было бы великолепно который день рыщу про STUN сервера и про RTP протокол потом ковырял qxmpp на самом деле вы меня воодушевили этой идеей прочел вот  это и    это
С использованием Qxmpp(QxxmpCallManeger) у меня не получилось передать аудио за NAT если оба собеседника находятся за ним да и по моему разработчики этого и не обещали и не обещают в новой версии))  посему начал придумывать свои решения и пока что окончательно не решил с чего начать  реализацию так что ваш алгоритм будет весьма кстати!!!

Благодарю...


« Последнее редактирование: Январь 10, 2011, 20:16 от crashsp » Записан
serg_hd
Хакер
*****
Offline Offline

Сообщений: 668



Просмотр профиля
« Ответ #5 : Январь 10, 2011, 23:02 »

Вообще, тема обхода NAT сегодня, как я понял, одна из наиболее востребованной. Помнится как-то искал как его обойти, чтоб 2 юзера (за роутерами) могли обмениваться трафиком без участия сервера, как это делает TeamViewer к примеру, но ни инфы адекватной не нашёл, да и вообще глухо было. И по сей день интересует, что ж оно так сложно-то.
Записан

kubuntu/Win7/x64/NetBeans
brankovic
Гость
« Ответ #6 : Январь 11, 2011, 00:23 »

Есть такая штука

http://en.wikipedia.org/wiki/UDP_hole_punching

на основе которой работает hamachi и прочие. Идея в том, что есть некий эхо-сервер, на который желающие сконнектиться посылают запрос, тогда этот сервер просто сообщает им порты (и ip) с которых они на него коннектнулись, и клиенты начинают писать друг-другу. Расчёт на то, что нат кеширует эти порты (иначе бы юдп не работал), но при этом не смотрит от кого входящие пакеты. Расчёт не всегда верен, поэтому работает не всегда.

Ещё на эту тему есть некий Gbirdge (http://www.gbridge.com/) от гугла. Он примерно так же работает и бесплатен. Но сам я не пользовался, руки не дошли.
« Последнее редактирование: Январь 11, 2011, 00:56 от brankovic » Записан
paul_winex
Гость
« Ответ #7 : Октябрь 25, 2013, 10:49 »

Вопрос: кто-нибудь решил задачу обхода NAT? Оба клиента находят за роутером. И даже если бы бы, клиенты не смогут самостоятельно его настроить. Нужен вариант "Включил и работает".
Записан
mutineer
Гость
« Ответ #8 : Октябрь 25, 2013, 11:13 »

внешний сервер
Записан
Serr500
Гость
« Ответ #9 : Октябрь 25, 2013, 11:30 »

UPnP, но работать будет только если включена поддержка хотя бы на одном роутере. Если нет - только внешний сервер. Или IPv6, где NAT'а нет в принципе.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.057 секунд. Запросов: 23.