Python 3.x socket.error:[Errno 10013]尝试以其访问权限禁止的方式访问套接字

时间:2013-06-04 01:42:03

标签: sockets python-3.x udp

尝试在Windows 7中广播UDP数据包时出现此错误。

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.sendto("hello".encode("ascii"), ("<broadcast>", 5868))

如果我改为255.255.255.255,同样的交易。如果我输入特定的IP地址(包括127.0.0.1),它可以正常工作。相同的方法(即,将数据包发送到255.255.255.255)可以在.NET中使用。

这不受Windows防火墙的影响(尝试将其关闭)。我是管理员,UAC已关闭,即使以“以管理员身份运行”,它也无效。不知何故,我认为这不是一个实际的权限问题。

1 个答案:

答案 0 :(得分:4)

你似乎错过了

s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
创建套接字后

。它使套接字能够广播。

有帮助吗?