1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
| legat |
6.10.2010 20:46
Сообщение
#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) по которому начать взаимодействие клиенты не могут. Как получить полный адрес клиента? З.Ы. Настройки роутера трогать нельзя. Оба клиента подключены к серверу, у него есть их адреса, необходимо связать их между собой напряую. |
![]() ![]() |
| мисс_граффити |
7.10.2010 10:20
Сообщение
#2
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Lapp, я про сервис, который называется dynDNS (сайтик то же, только с com). Наверняка есть аналоги, но я лично только с ним сталкивалась.
Про переброску порта - ну, по условию нельзя трогать настройки роутера... Сообщение отредактировано: мисс_граффити - 7.10.2010 10:21 -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
| Lapp |
7.10.2010 10:28
Сообщение
#3
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
я про сервис, который называется 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. Эта схема позволяет рассортировать входящий трафик. В твоем случае, сервер С, получивший пакет от А, должен послать его айпи И ПОРТ хосту Б. Хост Б шлет на эти входные параметры. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
legat Проблема с клиент-сервером 6.10.2010 20:46
Lapp Как получить полный адрес клиента? Хороший вопрос ... 6.10.2010 22:40
мисс_граффити посмотри в сторону dynDNS... либо можно попробоват... 7.10.2010 7:52
Lapp посмотри в сторону dynDNS... либо можно попробоват... 7.10.2010 9:40
legat Нашел вот такое: "На атомарном уровне структу... 7.10.2010 10:00
Lapp Кажется придется сделать подобное.Н-да.. дурная г... 7.10.2010 10:08
legat "Самостоятельно инициировать соединение внешн... 7.10.2010 10:25
legat Ок, спасибо, будем пробывать 7.10.2010 14:55
legat В общем ситуация такая:
Клиент А,который за Nat, у... 7.10.2010 20:00
Lapp В общем ситуация такая:
Клиент А,который за Nat, у... 7.10.2010 23:13
legat
Я вроде понял, как что устроено.
У меня не получ... 7.10.2010 23:46
Lapp А чем тебя не устраивает общение через порт А:5555... 8.10.2010 0:30
legat Спасибо за быстрый ответ=) Такая идея меня тоже по... 8.10.2010 0:41
Lapp мне необходимо, чтобы связь между клиентами шла че... 8.10.2010 1:48
legat
Сделали вот по этой схеме, все бы хорошо, но есть... 8.10.2010 22:35
Lapp nat все также не пускает к клиенту А, до тех пор, ... 8.10.2010 22:44
legat
Да
Решили, где возможно делать по udp, а если соо... 8.10.2010 23:02![]() ![]() |
|
Текстовая версия | 9.12.2025 23:30 |