На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Страницы: (2) 1 [2]  все  ( Перейти к последнему сообщению )  
> Как создать прямое соединение
    ter_nk_
    В течении какого времени у тебя устанавливается прямое соединение , после установки соединения с сервером и на какие порты\адреса?
      Цитата 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. Т.е. без посредника два занатовских клиента не могут стать самостоятельной парой клиент-сервер и никогда не смогут работать самостоятельно.
      Сообщение отредактировано: Oleg2004 -
        Цитата ^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. Т.е. без посредника два занатовских клиента не могут стать самостоятельной парой клиент-сервер и никогда не смогут работать самостоятельно.


        Ну как-то же работает, что сервер для соединения нужен только в начальный момент.

        Я вот подумал, если я комп подключю без роутера, то может..
          Кстати, друзья, а для IPv6 такой проблемы нет?


          ter_nk_
          Цитата ter_nk_ @
          Клиент 2 обращается на адрес 10.10.10.10 к порту 62000


          Цитата ter_nk_ @
          порт 1000 например


          Должен обращаться к порту с которого ушел внешний запрос
            Цитата ^D^ima @
            Должен обращаться к порту с которого ушел внешний запрос


            В смысле? 1000 - это порт тестирование, он же нигде не участвует больше.
              Цитата ter_nk_ @
              Клиент 1 становится сервером (тут же после разрыва соединение) соответственно с адресом 192.168.1.10 и портом 61000. Клиент 2 обращается на адрес 10.10.10.10 к порту 62000. И ничего, ну я понял что так просто работать не станет.

              Я что-то совсем не догоняю :)
              Клиент 1 становится сервером.
              Ладно, на клиенте может работать и серверная программа, согласен. Но с этим сервером теперь надо создавать новое соединение. Т.е. он должен получить TCP-сегмент с флагом SYN. На какой адрес клиент 2 шлет свою заявку на соединение (тоже SYN)с серверным клиентом 1 ??? И как она до него может дойти? :(
                Цитата Oleg2004 @
                Ладно, на клиенте может работать и серверная программа, согласен. Но с этим сервером теперь надо создавать новое соединение. Т.е. он должен получить TCP-сегмент с флагом SYN. На какой адрес клиент 2 шлет свою заявку на соединение (тоже SYN)с серверным клиентом 1 ??? И как она до него может дойти? :(


                Ну вот и не доходит, так как я слабо в теме. Клиент 1 192.168.1.10. А клиент 2 должен послать естественно на внешний 10.10.10.10. Не работает и не будет работать, понял.
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0331 ]   [ 16 queries used ]   [ Generated: 29.03.24, 14:57 GMT ]