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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: TCP клиент-сервер: компы в разных локальных сетях (разные внешние ip) .  (Прочитано 3234 раз)
Anarion
Гость
« : Октябрь 20, 2010, 21:07 »

Доброго всем времени суток.
Впервые занялся программированием поддержки сети. Разобрался с примером клиента-сервера, который приводится в книге Шлее. Как организовать обмен между компьютерами с прямыми (т.е. не через роутер, например) внешними ip вопросов нет. Но вот когда одна из сторон или обе находятся в разных локальных сетях, не могу понять, как можно программно установить соединение.
Чтобы с другого компьютера могли соединиться с моим (по созданному у меня QTcpServer) я сделал в настройках роутера  (в его web-интерфейсе) переброс порта на свой комп. Но ICQ-клиенты или скайп работают без такого ручного вмешательства в роутер. Собственно вопрос:можно ли это сделать средствами Qt и куда копать?
Заранее благодарен.
Записан
BlackTass
Гость
« Ответ #1 : Октябрь 21, 2010, 00:03 »

Таже самая аська сама коннектится к серверу, а не сервер к ней. Скайп насколько помню использует метод UDP-пробивания в NAT'е (но это лучше использовать, только когда понимаешь как ведет себя сеть на уровне хотя бы до IP).
Записан
crackedmind
Гость
« Ответ #2 : Октябрь 21, 2010, 08:42 »

Доброго всем времени суток.
Впервые занялся программированием поддержки сети. Разобрался с примером клиента-сервера, который приводится в книге Шлее. Как организовать обмен между компьютерами с прямыми (т.е. не через роутер, например) внешними ip вопросов нет. Но вот когда одна из сторон или обе находятся в разных локальных сетях, не могу понять, как можно программно установить соединение.
Чтобы с другого компьютера могли соединиться с моим (по созданному у меня QTcpServer) я сделал в настройках роутера  (в его web-интерфейсе) переброс порта на свой комп. Но ICQ-клиенты или скайп работают без такого ручного вмешательства в роутер. Собственно вопрос:можно ли это сделать средствами Qt и куда копать?
Заранее благодарен.
Qt тут не причем. Тут уже зависит от того как настроен роутинг в активном оборудование. С точки зрения конечной программы нужен только ip адрес. Лучше книжку по сетям почитайте.
Записан
Anarion
Гость
« Ответ #3 : Октябрь 21, 2010, 11:27 »

Спасибо за наставление на путь истинный. Поскольку соединение организую через QTcpSocket и QTcpServer, думал, что может в них чего-то можно изменить, поэтому и упомянул Qt.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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