Python – два клиента UDP, прослушивающие один и тот же портPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python – два клиента UDP, прослушивающие один и тот же порт

Сообщение Anonymous »

Этот вопрос задавался много раз по-разному, и всегда был один и тот же ответ: зачем вам это нужно, а не ответ на вопрос.
Мой сценарий выглядит следующим образом:
Собственное оборудование для управления и автоматизации, использующее Python для программирования. Один из типов устройств, которыми мы управляем, требует передачи строк через UDP на указанный порт. У меня может быть от 1 до 20 таких устройств, которым мне нужно отправлять команды и получать от них ответы.
Очевидно, что привязка к сокету позволит прослушивать только первому клиенту, выдавая ошибку для любого последующие попытки привязки. Использование socket.setsockopt(socket.SOL_SOCKET,ocket.SO_REUSEADDR, 1) или socket.setsockopt(socket.SOL_SOCKET,ocket.SO_REUSEPORT, 1) позволяет запустить код без ошибок, однако только первый клиент, который привязал себя к порту, фактически получает ответы.
Есть ли способ без создания какого-либо класса, который имеет одну привязку для каждого порта и обрабатывает получение и распространение ответов ? Каждое из этих устройств обычно представлено классом с классом udpclient, который управляет самими сокетами, поэтому создание синглтона для распределения сокетов не является моим предпочтительным путем.

Подробнее здесь: https://stackoverflow.com/questions/788 ... -same-port
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»