IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Проблема с клиент-сервером
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 16
Пол: Мужской
Реальное имя: Сергей

Репутация: -  1  +


Есть клиент-серверное приложение, и в функционале есть чат(личка). Этот чат надо переделать под .net remoting, чтоб клиенты посылали сообщения друг-другу напрямую, не напрягая лишний раз сервак, для это с сервака каждому клиенту посылаются айпи его друзей. Проблема в следующем, если один из клиентов сидит за роутером, то получается с сервака( сервер на с++) отправить лишь айпи роутера
(Function returned:
Official name: homeuser52-36.ccl.perm.ru
Address type: AF_INET
Address length: 4
IPv4 Address #1: 62.16.52.36)
по которому начать взаимодействие клиенты не могут. Как получить полный адрес клиента?
З.Ы. Настройки роутера трогать нельзя.
Оба клиента подключены к серверу, у него есть их адреса, необходимо связать их между собой напряую.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Lapp, я про сервис, который называется dynDNS (сайтик то же, только с com). Наверняка есть аналоги, но я лично только с ним сталкивалась.

Про переброску порта - ну, по условию нельзя трогать настройки роутера...

Сообщение отредактировано: мисс_граффити -


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(мисс_граффити @ 7.10.2010 11:20) *
я про сервис, который называется dynDNS (сайтик то же, только с com). Наверняка есть аналоги, но я лично только с ним сталкивалась.
ессно, я тоже про него. Есть и другие (я сижу на NoIP). Они все используют dynamic DNS как основу. Но я не могу взять в толк, как оно тут поможет. дело же не в трудностях с запоминанием численного адреса..

Цитата
Про переброску порта - ну, по условию нельзя трогать настройки роутера...
.. и не надо, NAT все сделает за тебя ))


Добавлено через 19 мин.
Цитата(legat @ 7.10.2010 11:25) *
"Самостоятельно инициировать соединение внешний узел не в состоянии, поскольку NAT просто не знает, на какой внутренний IP и порт следует транслировать неожиданно сваливавшийся UDP-пакет.
Эта проблема решается протоколом TURN (Traversal Using Relay NAT) "
Сюда копать?
Нет. Тут речь идет об ИНИЦИАЦИИ СНАРУЖИ. Это действительно непросто. У тебя же не тот случай.

Смотри.

1. внутренний хост А с адресом 192.168.0.5 хочет связаться с сервером С.

2. он шлет пакет на С, в котором обозначены ЕГО айпи и порт, т.е., например, 192.168.0.5:1234

3. NAT-раутер Р (с внешним айпи 5.6.7.8) заменяет исходящие параметры на свой айпи и произвольно выбранный свободный порт: 5.6.7.8:4321

4. с этого момента он слушает свой порт 4321

5. все пакеты, полученные на этот порт, онтправляет на А:1234

Вот, примерно так.. Точнее, так, кажется, работает PAT, который есть часть NAT.
Эта схема позволяет рассортировать входящий трафик. В твоем случае, сервер С, получивший пакет от А, должен послать его айпи И ПОРТ хосту Б. Хост Б шлет на эти входные параметры.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
legat   Проблема с клиент-сервером   7.10.2010 0:46
Lapp   Как получить полный адрес клиента? Хороший вопрос …   7.10.2010 2:40
мисс_граффити   посмотри в сторону dynDNS... либо можно попробоват…   7.10.2010 11:52
Lapp   посмотри в сторону dynDNS... либо можно попробоват…   7.10.2010 13:40
legat   Нашел вот такое: "На атомарном уровне структу…   7.10.2010 14:00
Lapp   Кажется придется сделать подобное.Н-да.. дурная г…   7.10.2010 14:08
мисс_граффити   Lapp, я про сервис, который называется dynDNS (сай…   7.10.2010 14:20
Lapp   я про сервис, который называется dynDNS (сайтик то…   7.10.2010 14:28
legat   "Самостоятельно инициировать соединение внешн…   7.10.2010 14:25
legat   Ок, спасибо, будем пробывать   7.10.2010 18:55
legat   В общем ситуация такая: Клиент А,который за Nat, у…   8.10.2010 0:00
Lapp   В общем ситуация такая: Клиент А,который за Nat, у…   8.10.2010 3:13
legat   Я вроде понял, как что устроено. У меня не получ…   8.10.2010 3:46
Lapp   А чем тебя не устраивает общение через порт А:5555…   8.10.2010 4:30
legat   Спасибо за быстрый ответ=) Такая идея меня тоже по…   8.10.2010 4:41
Lapp   мне необходимо, чтобы связь между клиентами шла че…   8.10.2010 5:48
legat   Сделали вот по этой схеме, все бы хорошо, но есть…   9.10.2010 2:35
Lapp   nat все также не пускает к клиенту А, до тех пор, …   9.10.2010 2:44
legat   Да Решили, где возможно делать по udp, а если соо…   9.10.2010 3:02


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.05.2024 14:36
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name