-
Приветствую. Прошу объяснить на пальцах как строится связь между клиентом и сервером когда у обоих динамические ip адреса но есть 1 сервер со статическим адресом.
т.е по сути как я понимаю на сервере стоит програма. в програме 2 порта 1 для клиента 1 для сервера. И эта програма как то завязывает жти порты друг на друга создавая что то в виде туннеля.
Подскажите на сколько верно мое предположение или каким образом сделать правельно.
Для чего это нужно:
Например мне нужно удаленно подключится к клиенту за натом. Все равно что это будет за софт, чат или удаленное управление.
Интересуют протокол TCP/IP для примера на стандартных компонентах.
-
-
> Сергей М.
нет. Идея как раз в другом.
Клиент подключается к серверу, Серверное приожение подключается к серверу
А на сервере софт их соеденяет. В итоге у нас клиент и серверное приложение могут переправлять друг другу данные.
Вопрос именно не в создании трехзвенной архитектуры, а именно в том как реализовать связываение двух портов друг на друга на сервере.
-
> [2] Intranull (24.09.10 17:58)
ну свяжешь ты 2 порта, а выделенные сервера кто арендовать будет?
-
Проблема аренды сервера не стоит. Это может быть как моя машина с 256 мб стоящаю в углу и имеющая выделеный Ip так и арендованый виндовый сервер.
Вопрос именно в том как на этом удаленом сервере связать программно клиентское и серверное приложение. ( С учетом того что может быть 10 клиентов и 10 серверов ) например тот же удаленный доступ для помощи корпоративным клиентам. Через VNC или Radmin
-
При симметричном НАТе ты их обделаешься связывать.
Это, надеюсь, тебе уже стало понятно ?
И речь при этом о TCP не идет вообще.
Борьба за выживание за НАТ идет под флагом UDP)
-
Может быть я неверно объяснил что то..
У нас есть сервер со статическим ip
клиент который находится за натом ( без разницы за каким ) соеденяется с софтом на сервере по статическому адресу, он может посылать и получать любые данные так как Ip сервера статический.
С другой стороны у нас есть программа оператор которая тоже находится за натом и она тоже подключается на сервер по статическому адресу. И может отправлять и получать данные от сервера так как коннект есть.
Вопрос: Как связать клиентское приложение за натом и операторское приложение за натом с помощью сервера у которого есть статический ip ?
Как это делает например TeamViewer у которого через его сервер работают клиентское и операторское приложение которые находятся за натом.
-
А кто тебе сказал, что после установления соединения с TW-сервером два его клиента продолжают работать именно через этот сервер вплоть до завершения сеанса ?
Работают они через него jn yfxfkf b lj rjywf лишь в том случае, если сервер не смог скоординировать действия двух своих клиентов по установлению P2P-канала.
В иных случаях сервер выступает лишь посредником инициации P2P-канала, после чего клиенты ощаются друг с другом напрямую, т.е. их "междусобойчик" никак не касается сервера.
-
В принципе понятно, либо завязваем на друг друга если есть возможность - например нет Firewall для входящих подключений.
Либо с помощью мапирования портов на сервере вяжем 2 порта между клиентом и оператором и тогда весь трафик идет черз сервер.
-
dyndns спасёт орд
-
> dyndns спасёт орд
Не спасет, если хост глобально не маршрутизируемый.