Сервер доступный из интернета

Тема в разделе "WASM.NETWORKS", создана пользователем _evil, 6 дек 2017.

  1. _evil

    _evil New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2003
    Сообщения:
    21
    Видел исходники клиентов и серверов - они все работают в локальной сети. Если подставить интернет адрес который высвечивается на странице http://myip.ru/ то будет ошибка (The requested address is not valid in its context) WinApi функция bind биндит только локальные адреса.
    Как сделать чтобы с интернет адресом работало?
     
  2. Aiks

    Aiks New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2017
    Сообщения:
    22
    Адрес:
    Украина
    Биндить нужно на локальный адрес и пробрасывать порт в настройках роутера(либо заказывать проброс порта в провайдера) на комп в локальной сети.

    Проверять можно тут: http://ping.eu/port-chk/
     
    Последнее редактирование: 6 дек 2017
  3. _evil

    _evil New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2003
    Сообщения:
    21
    а как тогда P2P клиенты работают без всяких пробросов портов (связываются даже без промежуточных серверов)?
     
  4. Aiks

    Aiks New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2017
    Сообщения:
    22
    Адрес:
    Украина
    Прочитайте про DHT.

    Для примера: https://toster.ru/q/381555

    В интернете полно инфы по этому поводу.
     
    Последнее редактирование: 6 дек 2017
  5. sato

    sato Member

    Публикаций:
    0
    Регистрация:
    15 янв 2012
    Сообщения:
    146
    если за NAT стоят оба узла ,то там наверно невозможно установить TCP соединение
    наверно поэтому торрент если я не ошибаюсь использует UDP сокеты
    Я собираюсь проверить на своём компьютере между двумя вирт машинами
    что бы они обе отправили UDP пакеты
     
  6. _evil

    _evil New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2003
    Сообщения:
    21
    у мнея даже в виртуальной машине активное соединение работает (мостом надо ставить в настройках сети),
    но свой сервер на интернет адрес биндится не хочет ...
     
  7. Aiks

    Aiks New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2017
    Сообщения:
    22
    Адрес:
    Украина
    Почему бы не почитать документацию к функции bind?

    https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms737550(v=vs.85).aspx

    The bind function associates a local address with a socket.
    ---
    WSAEADDRNOTAVAIL - This error is returned if the specified address pointed to by the name parameter is not a valid local IP address on this computer.

     
  8. _evil

    _evil New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2003
    Сообщения:
    21
    уже читал ...
    прочитай вопрос ...
     
  9. Aiks

    Aiks New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2017
    Сообщения:
    22
    Адрес:
    Украина
    Какой именно вопрос? По моим ссылкам есть ответы на Ваши вопросы.

    Незаметно, ибо Вы дальше пытаетесь биндить сокет на внешний IP.

     
  10. _evil

    _evil New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2003
    Сообщения:
    21
    биндить на не локальный IP не получится - это из самого первого вопроса понятно.
    Как P2P клиенты умудряются принимать входящие соединения не в своей подсети?
     
  11. Aiks

    Aiks New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2017
    Сообщения:
    22
    Адрес:
    Украина
    Если понятно, то зачем второй раз в теме сообщать, что у Вас не получается биндить сокет на внешний адрес?

    Если P2P клиент за NAT без проброса портов - то никак.

    Если "на пальцах", то как-то так.

    Допустим есть P2P клиент который сидит за NAT без проброса портов с включенным DHT. У него есть файл, который он поставил раздавать. Казалось бы, с него не смогут скачать, ибо к нему не дойдет входящее соединение. Но на самом деле с него смогут качать по следующей схеме. Он обращается на трекер в поисках пиров. Трекер сообщил P2P клиенту адрес и порт одного пира. У этого пира порты проброшены и P2P клиент подключается к нему, получает инфу про других участников обмена файлом(спасибо DHT) и пытается так же подключится к ним. По созданному соединению пир качает файл с P2P клиента.
     
  12. unc1e

    unc1e Active Member

    Публикаций:
    1
    Регистрация:
    28 июл 2017
    Сообщения:
    119
    _evil, NAT ваш? Если нет - вам никакой проброс не поможет.
     
  13. unc1e

    unc1e Active Member

    Публикаций:
    1
    Регистрация:
    28 июл 2017
    Сообщения:
    119
    Если схемка такая:
    [​IMG]
    То необходимо биндить на локалку + пробросить порты.

    А вот если такая:
    [​IMG]
    То только лишь покупать белый ip - обычно провайдеры имеют эту услугу.
     
    _evil нравится это.
  14. _evil

    _evil New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2003
    Сообщения:
    21
    то что с пробросом портов работает уже знаю (даже проверил что работает)
    но вотъпрос стоял что и без проброса портов P2P клиенты работают в лакальной сети - как такое сделать?
    Захожу в модем в маршруты UPnP и при запуске DC там появляются маршруты (как такое сделать?)
     
  15. _evil

    _evil New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2003
    Сообщения:
    21