Форум: "Сети";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];
ВнизКак теоретически соединяються два клиента которые оба за 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 вся ветка
Форум: "Сети";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.035 c