Python socket.error: [Errno 13] Autorisation refusée
L'utilisation de Linux et Python, je veux envoyer des données avec la diffusion:
d = b'109u433279423423423'
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.sendto(d, 0, ('192.168.0.255', 9))
Je lance ce script en tant que root et obtiens cette erreur:
s.sendto(d, 0, ('192.168.0.255', 9)) socket.error: [Errno 13]
Permission denied
Quel est le problème?
source d'informationauteur atomAltera
Vous devez vous connecter pour publier un commentaire.
Vous essayez d'envoyer à une adresse de diffusion. Il n'est pas permis, voir la page de manuel pour sendto(2):
EACCES (Pour les sockets UDP) Une tentative a été faite pour l'envoyer à un réseau/adresse de diffusion comme si c'était une adresse monodiffusion.
Définir la SO_BROADCAST option, si vous avez réellement dire pour l'envoyer à une adresse de diffusion: