Russian Qt Forum
Ноябрь 23, 2024, 11:35
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Работа с сетью
>
QTcpServer за NAT
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QTcpServer за NAT (Прочитано 5576 раз)
crashsp
Гость
QTcpServer за NAT
«
:
Январь 06, 2011, 18:48 »
Пишу клиент/сервер все окей если сервер имеет белый ip, но
каким образом можно установить прямое соединения при условиях что сам
QTcpServer
спрятан за
NAT
??
Кто нить реализовывал что нить подобное, с чего начать действовать )??
Благодарю....
Записан
brankovic
Гость
Re: QTcpServer за NAT
«
Ответ #1 :
Январь 06, 2011, 20:05 »
Можно пробросить порт на нат.
Если к нату доступа нет, то можно сделать обратный коннект с сервера на клиент, если клиент сам имеет внешний ip или проброшенный порт на своём нате.
Если и клиент и сервер находятся оба за натом, то связаться можно только через прокси.
Это всё свойства tcp/udp, QTcpServer тут не виноват но и не поможет ничем.
Записан
crashsp
Гость
Re: QTcpServer за NAT
«
Ответ #2 :
Январь 07, 2011, 21:01 »
Спасиб !
Записан
Ubuntu_linux
Гость
Re: QTcpServer за NAT
«
Ответ #3 :
Январь 09, 2011, 02:49 »
Цитата: brankovic от Январь 06, 2011, 20:05
Можно пробросить порт на нат.
Если к нату доступа нет, то можно сделать обратный коннект с сервера на клиент, если клиент сам имеет внешний ip или проброшенный порт на своём нате.
Если и клиент и сервер находятся оба за натом, то связаться можно только через прокси.
Это всё свойства tcp/udp, QTcpServer тут не виноват но и не поможет ничем.
Класная идея, обратного конекта! Могу подкинуть свою идейку . Я для передачи адресов клиенту или серверу, что б они знали друг друга, использую месенджер джабер, а потом прямой коннект по ип.
Записан
crashsp
Гость
Re: QTcpServer за NAT
«
Ответ #4 :
Январь 10, 2011, 20:12 »
Было бы великолепно который день рыщу про STUN сервера и про RTP протокол потом ковырял qxmpp на самом деле вы меня воодушевили этой идеей прочел вот
это
и
это
С использованием Qxmpp(QxxmpCallManeger) у меня не получилось передать аудио за NAT если оба собеседника находятся за ним да и по моему разработчики этого и не обещали и не обещают в новой версии)) посему начал придумывать свои решения и пока что окончательно не решил с чего начать реализацию так что ваш алгоритм будет весьма кстати!!!
Благодарю...
«
Последнее редактирование: Январь 10, 2011, 20:16 от crashsp
»
Записан
serg_hd
Хакер
Offline
Сообщений: 668
Re: QTcpServer за NAT
«
Ответ #5 :
Январь 10, 2011, 23:02 »
Вообще, тема обхода NAT сегодня, как я понял, одна из наиболее востребованной. Помнится как-то искал как его обойти, чтоб 2 юзера (за роутерами) могли обмениваться трафиком без участия сервера, как это делает TeamViewer к примеру, но ни инфы адекватной не нашёл, да и вообще глухо было. И по сей день интересует, что ж оно так сложно-то.
Записан
kubuntu/Win7/x64/NetBeans
brankovic
Гость
Re: QTcpServer за NAT
«
Ответ #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
Гость
Re: QTcpServer за NAT
«
Ответ #7 :
Октябрь 25, 2013, 10:49 »
Вопрос: кто-нибудь решил задачу обхода NAT? Оба клиента находят за роутером. И даже если бы бы, клиенты не смогут самостоятельно его настроить. Нужен вариант "Включил и работает".
Записан
mutineer
Гость
Re: QTcpServer за NAT
«
Ответ #8 :
Октябрь 25, 2013, 11:13 »
внешний сервер
Записан
Serr500
Гость
Re: QTcpServer за NAT
«
Ответ #9 :
Октябрь 25, 2013, 11:30 »
UPnP, но работать будет только если включена поддержка хотя бы на одном роутере. Если нет - только внешний сервер. Или IPv6, где NAT'а нет в принципе.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...