如何在Python中找到LAN的广播地址?
我正在编写一个脚本,它依赖于将UDP数据报广播到当前LAN的能力,我想知道是否有一种方法可以直接从Python找到广播IP 我目前只是将其硬编码如下,这可能会在不同的子网中崩溃:如何在Python中找到LAN的广播地址?,python,sockets,network-programming,Python,Sockets,Network Programming,我正在编写一个脚本,它依赖于将UDP数据报广播到当前LAN的能力,我想知道是否有一种方法可以直接从Python找到广播IP 我目前只是将其硬编码如下,这可能会在不同的子网中崩溃: self.UDP_IP = '192.168.1.255' sock = socket(AF_INET, SOCK_DGRAM) sock.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) sock.setsockopt(SOL_SOCKET, SO_BROADCAST, 1) sock.
self.UDP_IP = '192.168.1.255'
sock = socket(AF_INET, SOCK_DGRAM)
sock.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
sock.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
sock.sendto('<Some message>', (self.UDP_IP, <Some port>))
self.UDP_IP='192.168.1.255'
插座=插座(自动线、插座)
sock.setsockopt(SOL_插座,SO_REUSEADDR,1)
sock.setsockopt(SOL_套接字,SO_广播,1)
sock.sendto(“”,(self.UDP_IP,))
如果要在局域网中广播,为什么要使用定向广播?以255.255.255.255为目标,您的传输将始终成为以太网广播,这似乎满足了您的需求。但我可能误解了您的要求。有多种方法可以获取网络掩码,并从中推断广播地址。您没有误解,255.255.255.255似乎很好用!顺便说一句,IPv6等价物将是一个类似ff02::1的多播。