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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как при помощи QTcpSocket передать данные через интернет удаленному клиенту?  (Прочитано 4875 раз)
virtual_root
Гость
« : Ноябрь 13, 2011, 20:57 »

Добрый вечер.
 У меня уже есть готовый чат по локальной сети. Где мне приходится указывать ip и порт. А как быть если я знаю ip удаленного компьютера и хочу передать ему сообщение (как в icq) ? Подскажите,пожалуйста.
Записан
andrew.k
Гость
« Ответ #1 : Ноябрь 13, 2011, 23:34 »

подключиться к удаленному компьютеру и передать.
Какие проблемы?
Записан
virtual_root
Гость
« Ответ #2 : Ноябрь 14, 2011, 09:32 »

Я вписываю свой ip в программу ну,ничего не передаётся. Как мне удалось выяснить это потому что у удаленного компьютера сеть настроена через роутер, получается что сообщение то передаётся но приходит на модем удаленного компьютера, а на сам компьютер не доходит. Как мне сделать чтобы оно приходило на сам компьютер я не пойму, может кто делал уже подобное? Как быть в таком случае?
Записан
andrew.k
Гость
« Ответ #3 : Ноябрь 14, 2011, 10:16 »

скажи-ка, а адрес "удаленного" компа, к которому ты подключаешься похож на такой 192.168.0.2?

Читай как настроить port forwarding на удаленном роутере.
К qt это не имеет отношения.
Записан
virtual_root
Гость
« Ответ #4 : Ноябрь 14, 2011, 10:20 »

нет-нет, про внешние и внутренние ip я знаю. Я подключаюсь по внешнему ip.
Записан
andrew.k
Гость
« Ответ #5 : Ноябрь 14, 2011, 10:36 »

Я вписываю свой ip в программу ну,ничего не передаётся. Как мне удалось выяснить это потому что у удаленного компьютера сеть настроена через роутер
А это что?
Записан
virtual_root
Гость
« Ответ #6 : Ноябрь 14, 2011, 11:12 »

Я описалась,извините. Я вписывала ip удаленного компьютера примерно такой: 188.114.63.28, но сообщение не доходило до него. И он вписывал мой внешний ip,до меня тоже не дошло сообщение.

я прочитала про PortForward, это получается что каждый кому я хочу передать сообщение через свою программу должен себе его настроить? А как мне сделать чтобы у меня был сервер, который рассылает всем сообщения? Что мне именно нужно сделать чтобы мои сообщения доходили до клиентов? Объясню,как у меня всё устроено: у меня дома настроена локальная сеть из 3-х компьютеров через wifi-роутер,на локальных компьютерах с внутренними ip всё работает. Я использую в своей программе 1115 порт,так как он ни какой программой не занимается. Но передать сообщения на внешний ip удаленному компьютеру, у которого таким же образом настроена сеть,не получается. Как решить эту проблему?
 Может я чего-то не могу понять,объясните,пожалуйста.
« Последнее редактирование: Ноябрь 14, 2011, 11:18 от virtual_root » Записан
andrew.k
Гость
« Ответ #7 : Ноябрь 14, 2011, 13:11 »

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


Может я чего-то не могу понять,объясните,пожалуйста.
Да, ты не можешь понять назначение Port Forwarding. Читай еще раз. Прочитай еще про NAT.
Указанный адрес это адрес роутера. К нему ты и пытаешься подключаться. А программа запущена на компьютере, который за роутером.
Естественно на халяву ничего не получится. Нужно настраивать проброс портов, чтобы роутер перенаправлял запросы к нему на заданный компьютер.
Либо компьютер должен иметь внешний адрес.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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