![Как исправить ошибку Python «OSError: [WinError 10049] Запрошенный адрес недопустим в своем контексте» в Windows 10?](https://rvso.com/image/1705041/%D0%9A%D0%B0%D0%BA%20%D0%B8%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D1%83%20Python%20%C2%ABOSError%3A%20%5BWinError%2010049%5D%20%D0%97%D0%B0%D0%BF%D1%80%D0%BE%D1%88%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9%20%D0%B0%D0%B4%D1%80%D0%B5%D1%81%20%D0%BD%D0%B5%D0%B4%D0%BE%D0%BF%D1%83%D1%81%D1%82%D0%B8%D0%BC%20%D0%B2%20%D1%81%D0%B2%D0%BE%D0%B5%D0%BC%20%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B5%C2%BB%20%D0%B2%20Windows%2010%3F.png)
В системе Windows 10 я пытаюсь прослушать отправителя многоадресной рассылки, указав IP-адрес и порт. На Ubuntu все работает без проблем, но на Windows я получаю ошибку
OSError: [WinError 10049] The requested address is not valid in its context
Ошибка появляется в той части, где я пытаюсь привязать сокет:
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind((group, port))
Я вижу IP-адрес group
и port
видимый на Wireshark.
Как исправить эту ошибку, не перезагружая ноутбук?
- Я попробовал перезапустить сетевой адаптер,
netsh
но это не помогло. - Я пробовал запустить скрипт Python от имени администратора, но это не помогло.
- Перезагрузка ноутбука тоже не помогла.
- Я добавил путь к
python
исполняемому файлу, который я использую из virtualenv, в список разрешенных приложений через брандмауэр, но — как вы могли догадаться — это тоже не помогло.
решение1
Похоже, эту проблему решить невозможно. Вам придется использовать другую ОС.