Вниз
Скачать: CL | DM;

Как теоретически соединяються два клиента которые оба за NAT-ом   Найти похожие ветки 

 
undersun   (2004-05-08 14:57) [0]

Как теоретически соединяються два клиента которые оба за NAT-ом


 
undersun   (2004-05-08 14:58) [1]

Ну в смысле за двумя разными системами, а не в одной. И вообще возможно ли такое?


 
Alex Konshin ©   (2004-05-08 19:14) [2]

Конечно.
NAT не обязательно динамический.
Можно назначить переадресацию определенных портов на определенные порты машин внутри локальной сети. Это как раз-таки обычное решение.


 
Anatoly Podgoretsky ©   (2004-05-08 19:33) [3]

Пара адрес:порт переправляется на другую пару адрес:порт
Пара может быть и диапазоном.


 
Mentat   (2004-05-09 11:21) [4]

Без port-forwarding"а только через внешний сервер.


 
undersun   (2004-05-09 11:46) [5]

А как это выглядит с программной точки зрения. Я вот имею локальный (в своей сети) адрес я на нём открываю слушающий сокет, а второй товарищь в другой сети, к какому ему адресу коннектица


 
Anatoly Podgoretsky ©   (2004-05-09 12:11) [6]

Соединяться ему с твоим слушающим сокетом, он должен быть доступен для него.


 
Piter ©   (2004-05-09 12:12) [7]

undersun   (08.05.04 14:57)
Как теоретически соединяються два клиента которые оба за NAT-ом


В общем случае это невозможно. Поэтому у тебя как раз в PnP системах бывает статус LowID, то есть коннекты к тебе невозможны, только когда коннект инициализируешь ты.
Два клиента с LowID не могут сконнектиться никак :(

Есть решение правда:

"Можно назначить переадресацию определенных портов на определенные порты машин внутри локальной сети"

то есть, если обращаются на определенный порт твоего прокси, то он будет перенаправлять тебе на порт, внутрь сети.
Тогда если кто хочет приконнектиться - ему надо указывать IP адрес прокси...


 
undersun   (2004-05-09 12:19) [8]

А как же это работает в ICQ: Там передеча файлов идёт по прямому соединению между двумя клиентами, как же в этом случае соединяють два клиента подключенные по диалапу с динамическим да ещё и внутренними (для каждого из клиентов)адресами. Это работает я проверял.


 
undersun   (2004-05-09 12:24) [9]

Piter у тебя нет аськи. Ну что б побыстрей общаться. Обещаю модератору результат общения выложить на форум.


 
Anatoly Podgoretsky ©   (2004-05-09 12:25) [10]

undersun   (09.05.04 12:19) [8]
Там передача идет через установления соединиения изнутри и поддержания сокета активным. Соединение идет через внешний сервер и твой прокси/NAT, никаких локальных IP не фигурирует.
Таже самая проброска внешнего сокета на локальный.

Пара адрес:порт переправляется на другую пару адрес:порт [3]


 
undersun   (2004-05-09 12:45) [11]

Anatoly Podgoretsky
Хорошо. Как это програмно выглядит. Как мне сделать клиент и сервер и соединить их. На какой адрес вешать сервер и к какому соединяться клиенту.


 
Anatoly Podgoretsky ©   (2004-05-09 13:01) [12]

Нужен сервер, который будет поддерживать список сокетов, связанных с клиентом и когда другой клиент хочет соединиться с тобой он получит твой сокет от сервера, дальше обмен идет уже без сервера. Сокет клиента получать от сервера не требуется, он будет получен при соединении.


 
Anatoly Podgoretsky ©   (2004-05-09 13:03) [13]

Для работы без сервера, нужно на внешнем соединении открыть сокет и перебрасывать его уже тебе. Port Forwardig. В любом случае задействовано как минимум три компьютера. Клиент, Сервер и твой компьютер.


 
undersun   (2004-05-09 13:54) [14]

Спасибо. Всё ясно.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.021 c
3-1086611120
my-fame
2004-06-07 16:25
2004.07.04
Дата обновления процедур


14-1087477253
Terminator
2004-06-17 17:00
2004.07.04
Помогите выбрать ресторан и гостиницу


14-1087278233
(AD)acid
2004-06-15 09:43
2004.07.04
Народ, а кто как относиться к творчеству Сергея Лукьяненко?


1-1087305487
Zemal
2004-06-15 17:18
2004.07.04
Как реализовать интерфейс как в Delphi?


14-1087411446
Piter
2004-06-16 22:44
2004.07.04
Россия - Португалия




   Наверх