Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.145.97.248] |
|
Страницы: (2) 1 [2] все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
ter_nk_
В течении какого времени у тебя устанавливается прямое соединение , после установки соединения с сервером и на какие порты\адреса? |
Сообщ.
#17
,
|
|
|
Цитата Pavia @ 1. Вам хорошенько надо изучить процесс установки соединения. Для UDP и TCP он отличает(ся). Уточню. Для UDP понятие установки соединения отсутствует вообще. UDP-датаграмма шлется на авось на деревню к дедушке. Могет дойдет. А могет - нет. И никаких сведений о том что было... Добавлено Цитата ter_nk_ @ Есть сервер и два клиента. Клиент 1 подключается к серверу по порту 1, клиент 2 также подключается к этому порту. Сервер сообщает клиенту 1 что извне 10.1.1.2:52000, а клиент 2 10.3.4.2:54000. Клиент 2 получает данные соответственно, теперь они по идее должны разорвать соединение, один прикинуться сервером, а другой коннектиться, вообщем не совсем мне понятен алгоритм. Непонятность заключается в том, что 1. Клиентам разорвать соединение с сервером - да, можно, но это означает полный крах идеи. 2. Один прикинуться сервером...такой технологии нет. Клиент за натом никак не может прикинуться сервером. 3. Т.е. без посредника два занатовских клиента не могут стать самостоятельной парой клиент-сервер и никогда не смогут работать самостоятельно. |
Сообщ.
#18
,
|
|
|
Цитата ^D^ima @ В течении какого времени у тебя устанавливается прямое соединение , после установки соединения с сервером и на какие порты\адреса? Клиент 1, внутренний адрес 192.168.1.10, внешний допустим 10.10.10.10, порт 1000 например. Клиент 2, внутренний адрес 192.168.1.11, порт 1000 например. Внешний порт первого 61000, второго 62000. Клиент 1 становится сервером (тут же после разрыва соединение) соответственно с адресом 192.168.1.10 и портом 61000. Клиент 2 обращается на адрес 10.10.10.10 к порту 62000. И ничего, ну я понял что так просто работать не станет. Цитата Oleg2004 @ 3. Т.е. без посредника два занатовских клиента не могут стать самостоятельной парой клиент-сервер и никогда не смогут работать самостоятельно. Ну как-то же работает, что сервер для соединения нужен только в начальный момент. Я вот подумал, если я комп подключю без роутера, то может.. |
Сообщ.
#19
,
|
|
|
Кстати, друзья, а для IPv6 такой проблемы нет?
ter_nk_ Цитата ter_nk_ @ Клиент 2 обращается на адрес 10.10.10.10 к порту 62000 Цитата ter_nk_ @ порт 1000 например Должен обращаться к порту с которого ушел внешний запрос |
Сообщ.
#20
,
|
|
|
Цитата ^D^ima @ Должен обращаться к порту с которого ушел внешний запрос В смысле? 1000 - это порт тестирование, он же нигде не участвует больше. |
Сообщ.
#21
,
|
|
|
Цитата ter_nk_ @ Клиент 1 становится сервером (тут же после разрыва соединение) соответственно с адресом 192.168.1.10 и портом 61000. Клиент 2 обращается на адрес 10.10.10.10 к порту 62000. И ничего, ну я понял что так просто работать не станет. Я что-то совсем не догоняю Клиент 1 становится сервером. Ладно, на клиенте может работать и серверная программа, согласен. Но с этим сервером теперь надо создавать новое соединение. Т.е. он должен получить TCP-сегмент с флагом SYN. На какой адрес клиент 2 шлет свою заявку на соединение (тоже SYN)с серверным клиентом 1 ??? И как она до него может дойти? |
Сообщ.
#22
,
|
|
|
Цитата Oleg2004 @ Ладно, на клиенте может работать и серверная программа, согласен. Но с этим сервером теперь надо создавать новое соединение. Т.е. он должен получить TCP-сегмент с флагом SYN. На какой адрес клиент 2 шлет свою заявку на соединение (тоже SYN)с серверным клиентом 1 ??? И как она до него может дойти? Ну вот и не доходит, так как я слабо в теме. Клиент 1 192.168.1.10. А клиент 2 должен послать естественно на внешний 10.10.10.10. Не работает и не будет работать, понял. |