![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
legat |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Есть клиент-серверное приложение, и в функционале есть чат(личка). Этот чат надо переделать под .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) по которому начать взаимодействие клиенты не могут. Как получить полный адрес клиента? З.Ы. Настройки роутера трогать нельзя. Оба клиента подключены к серверу, у него есть их адреса, необходимо связать их между собой напряую. |
![]() ![]() |
мисс_граффити |
![]()
Сообщение
#2
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Lapp, я про сервис, который называется dynDNS (сайтик то же, только с com). Наверняка есть аналоги, но я лично только с ним сталкивалась.
Про переброску порта - ну, по условию нельзя трогать настройки роутера... Сообщение отредактировано: мисс_граффити - 7.10.2010 10:21 -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Lapp |
![]()
Сообщение
#3
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
я про сервис, который называется dynDNS (сайтик то же, только с com). Наверняка есть аналоги, но я лично только с ним сталкивалась. ессно, я тоже про него. Есть и другие (я сижу на NoIP). Они все используют dynamic DNS как основу. Но я не могу взять в толк, как оно тут поможет. дело же не в трудностях с запоминанием численного адреса..Цитата Про переброску порта - ну, по условию нельзя трогать настройки роутера... .. и не надо, NAT все сделает за тебя ))Добавлено через 19 мин. "Самостоятельно инициировать соединение внешний узел не в состоянии, поскольку 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. Эта схема позволяет рассортировать входящий трафик. В твоем случае, сервер С, получивший пакет от А, должен послать его айпи И ПОРТ хосту Б. Хост Б шлет на эти входные параметры. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 11:46 |