Russian Qt Forum

Qt => Работа с сетью => Тема начата: bigory от Октябрь 12, 2010, 20:35



Название: Клиент/Сервер через интернет
Отправлено: bigory от Октябрь 12, 2010, 20:35
Всем доброе время суток!
Подскажите пожалуйста как можно организовать клиент/сервер через интернет. В документации по Qt организовано по локальной сети. Хотелось бы простого примера, как по айпи послать, например, строку или число, Клиент должен отобразить эту строку или число


Название: Re: Клиент/Сервер через интернет
Отправлено: CL0NE от Октябрь 12, 2010, 20:41
Все так же работает и через интернет, достаточно внешнего IP.


Название: Re: Клиент/Сервер через интернет
Отправлено: bigory от Октябрь 12, 2010, 20:47
Если Вы использовали Fortune Server и Fortune Client и все заработало через интернет, значит у меня кривой подопытный кролик оказался)) Хотя да, он дале у себя на одном компе не может 2 запущенные проги состыковать. У того ОС семерка. Могут быть проблемы с семеркой?


Название: Re: Клиент/Сервер через интернет
Отправлено: CL0NE от Октябрь 12, 2010, 21:07
На 7рке сервер из демок отображает левый адрес для прослушки (код под комментарием // use the first non-localhost IPv4 address), на самом же деле он слушает на всех интерфейсах (0.0.0.0). И если попросту ввести реальный адрес своей машины - получим ответ.


Название: Re: Клиент/Сервер через интернет
Отправлено: bigory от Октябрь 12, 2010, 21:53
Со вторым кроликом тоже не получается. У того ХР


Название: Re: Клиент/Сервер через интернет
Отправлено: crossly от Октябрь 13, 2010, 17:02
при конекте к серверу указывает реальный внешний ip??


Название: Re: Клиент/Сервер через интернет
Отправлено: bigory от Октябрь 17, 2010, 07:29
Все понятно в чем дело, этот пример только для локальной сети. Нашел одну заготовку, где через инет
Спасибо всем!


Название: Re: Клиент/Сервер через интернет
Отправлено: CL0NE от Октябрь 17, 2010, 20:35
Может покажем в чем разница между кодом "для инета" и "для локальной сети"? Жутко интересно.


Название: Re: Клиент/Сервер через интернет
Отправлено: crossly от Октябрь 17, 2010, 20:42
нету разницы


Название: Re: Клиент/Сервер через интернет
Отправлено: CL0NE от Октябрь 23, 2010, 21:20
Цитировать
нету разницы
я это знаю итак :D. Мой же вопрос бы адресован ТС, было интересно узнать из чего сделаны следующие выводы:
Цитировать
Все понятно в чем дело, этот пример только для локальной сети. Нашел одну заготовку, где через инет


Название: Re: Клиент/Сервер через интернет
Отправлено: Aeromiss от Январь 31, 2011, 17:28
Здравствуйте снова форумчане!=) что бы не нубить и не создавать новую тему писать буду тут.... надеюсь на вашу помосч в понимании...
Проблемка такая пишу клиент сервер через инет а то локалка и вай фай для программиста не модно(имхо) ...
1. по локалке через udpsocket передает норм яндекс и другие показывают мне 178.122.99.109 (ип динамический) ....  так вот сложность в том, как узнать с помощью с++ внешний ип как это делают эти сайты типа 2ip.ru/...
udpSocket->writeDatagram(datagram.data(), datagram.size(),
                              // QHostAddress::LocalHost, 45454); - локалка
                            // QHostAddress("192.168.1.2"), 45454); - тоже
                           // QHostAddress::Broadcast, 45454); - ваще бродкаст через инет не потянет(не будет же оно все инет пинговать)
              QHostAddress("178.122.99.109"), 45454);
2. Еще 1 вопросег у меня udp заработал когда использовал в модеме Brigde mode... но чтобы не выкидывало и пинг был лучше использую PPPoA/PPPoE но так udp не работает тоесть пакет застревает в модеме как я понял... тоесть нужно не только через внешний ip пакет посылать я так понимаю или настраивать модем?
Поставил на бридж мод подключил и заработало однако PPPoA/PPPoE круче.... как бы программно его узнать? ну и через PPPoA/PPPoE узнать принцип работы...?


Название: Re: Клиент/Сервер через интернет
Отправлено: Omg от Февраль 02, 2011, 14:11
Для чего необходимо узнавать внешник?
А так ли необходим udp? TCP вообще никак не подойдет?
И бродкаст сообщения фильтруются маршрутизаторами и не пускаются дальше виртуальной сети, в их сторону можно даже не смотреть.