Задать вопрос
@Dar1uz

Как организовать клиент-клиент соединение на python через socket?

В интернете нахожу информацию только про реализацию сервера и подключение к нему клиентов. Можно ли реализовать передачу данных без организации сервера?
  • Вопрос задан
  • 98 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
Vindicar
@Vindicar
RTFM!
Почитай про разницу между потоковыми и датаграммными сокетами.
В потоковых сокетах всегда есть клиент, устанавливающий подключение, и есть сервер, ожидающий подключение.
Датаграммные сокеты в этом плане более одноранговы, хотя и там обычно есть узел, который первым проявляет инициативую.
В любом случае, проблемы у тебя возникнут, когда оба узла находятся в разных сетях, за несколькими слоями NAT каждый. Имея публично доступный сервер, эту проблему решить куда проще.
Ответ написан
Комментировать
@wows15
В автоматизации сила, брат
Если я правильно понимаю что ты имеешь ввиду, то клиент-клиент соединений не бывает. Всегда есть первый, кто дает возможность к себе подключиться, либо как либо с собой взаимодействовать и другие, которые с ним взаимодействуют. Человек выше написал про датаграмные сокеты, но там все равно нужно чтобы кто то слушал и принимал пакеты, иначе они улетят «в никуда».
Если ты хочешь клиент-клиент соединение то нет никакой проблемы на обоих машинах запустить сервер и каждый сможет подключиться друг к другу в любое время и взаимодействовать.
Если ты хочешь запустить сервер у себя дома, то скорее всего это не получится из-за того что провайдер в целях экономии ipv4 адресов (которых дефицит) использует такую технологию как NAT (а точнее его подвид PAT). Чтобы это обойти нужно купить у провайдера статический айпи адрес за примерно 200 руб месяц.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы