dar*_*rda 3 sockets udp python-3.x
我在尝试在 Windows 7 中广播 UDP 数据包时遇到此错误。
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.sendto("hello".encode("ascii"), ("<broadcast>", 5868))
Run Code Online (Sandbox Code Playgroud)
如果我更改为 255.255.255.255,同样的交易。如果我输入特定的 IP 地址(包括 127.0.0.1),它就可以正常工作。同样的方法(即,将数据包发送到 255.255.255.255)也适用于 .NET。
这不受 Windows 防火墙的影响(尝试将其关闭)。我是管理员,UAC 已关闭,即使使用“以管理员身份运行”也不起作用。不知何故,我不认为这是一个实际的权限问题。
你似乎缺少一个
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
Run Code Online (Sandbox Code Playgroud)
创建套接字后。它使套接字能够广播。
它有帮助吗?
| 归档时间: |
|
| 查看次数: |
3271 次 |
| 最近记录: |