• Как установить p2p соединение между двумя клиентами, и что для этого нужно?

    Griboks
    @Griboks
    Для ясности дополню другие ответы.
    1. Оба клиента подключаются к серверу.
    2. Сервер отдаёт им список всех подключённых клиентов.
    3. Один клиент подключается к другому, чей адрес он получил от сервера.

    Это не работает, если у клиентов нет белых адресов. Решается проблема следующими способами:
    - ретрансляции и соединение клиентов через сервер (стандартное решение для большинства игр)
    - подключение к клиентам с белыми адресами
    - проброс портов и настройка nat (если вдруг ваша игра умеет ломать сети)
    - клиенты долбят я друг к другу через udp
    - сервер соединяет концы соединений клиентов (разве какой-то nat это разрешает?)
    Короч, надо обойти nat.
    Ответ написан
    1 комментарий
  • Как установить p2p соединение между двумя клиентами, и что для этого нужно?

    @remzalp
    Программер чего попало на чем попало
    Начните с изучения работы NAT. Проблема - между участник 1 и участник 2 в памяти их маршрутизаторов нет готовой Nat цепочки, так что маршрутер отбросит попытку соединения.

    Задача сводится к пробитию NAT снаружи в автоматическом режиме. Изучайте понятия, связанные с UPnP, NAT, NAT traversal, STUN, TURN
    Много головной боли на эту тему было у IP телефонистов, так что многие их рецепты сгодятся и Вам.

    Первая попавшаяся статья
    https://voipnotes.ru/nat-potocol-turn-rsip-ice/
    Ответ написан
    1 комментарий