Python: 在 Windows 上获取 UDP 广播的发送者/socket.recvcmsg()
Python: Get sender of UDP broadcast / socket.recvcmsg() on Windows
我使用socket.recvmsg()
来获取UDP 广播消息的数据和发件人的IP 地址。这在 Linux 上工作正常,但此方法在 Windows (Python 3.3) 上不可用。如何获取发件人的IP地址?
from socket import *
fd = socket(AF_INET, SOCK_DGRAM)
fd.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
fd.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
data, _, _, addr = fd.recvmsg(4096) # <- how to achieve this without recvmsg?
host, upd_port = addr
我使用socket.recvmsg()
来获取UDP 广播消息的数据和发件人的IP 地址。这在 Linux 上工作正常,但此方法在 Windows (Python 3.3) 上不可用。如何获取发件人的IP地址?
from socket import *
fd = socket(AF_INET, SOCK_DGRAM)
fd.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
fd.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
data, _, _, addr = fd.recvmsg(4096) # <- how to achieve this without recvmsg?
host, upd_port = addr