У меня есть этот небольшой скрипт:
import socket
with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as server_socket:
server_socket.bind(("127.0.0.1", 5353))
Запустив его под Windows, я получил ошибку PermissionError: [WinError 10013] Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig
Я не могу запустить его от имени администратора, потому что использую IDE.
Есть идеи? ТИА!
Сообщение об ошибке ясно: у вас нет разрешения на использование этого сокета. Попробуйте другой порт. Команда netstat
должна предоставить вам список всех портов, используемых в данный момент.
Ошибка обычно вызвана не разрешениями, а закрытым портом. Вы можете попробовать другой порт, открыть закрытый порт или проверить, заблокирован ли порт брандмауэром. Если порт открыт и не заблокирован, IDE можно запустить от имени администратора.
Вы можете увидеть ответы выше в Google: StackOverflow , Github , Streamlit и другие....
порт 5353 — это служба mdns и, скорее всего, используется вашей ОС. выберите другой, тогда все работает. вы также можете проверить открытые порты с помощью netstat (например, netstat -a -b -p UDP)
выберите другой, тогда он работает? Это будет работать только в том случае, если у клиента есть разрешение на подключение к порту (на указанном хосте), который принимает незащищенные соединения.
@steinweb прав: используя порт 15353, все работает нормально. Спасибо!
есть ли что-то привязанное к порту 5353?