Этот вопрос задавался много раз по-разному, и всегда был один и тот же ответ: зачем вам это нужно, а не ответ на вопрос.
Мой сценарий выглядит следующим образом:
Собственное оборудование для управления и автоматизации, использующее 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
Python – два клиента UDP, прослушивающие один и тот же порт ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Отбрасываются ли пакеты UDP, если контрольная сумма заголовка UDP неверна?
Anonymous » » в форуме C++ - 0 Ответы
- 47 Просмотры
-
Последнее сообщение Anonymous
-