首页 > 解决方案 > Python UDP 广播传输问题

问题描述

我使用 Python 3.7.3 发送了一个 UDP 广播。

import socket

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
sock.bind(('', 12345))
sock.settimeout(1)

sock.sendto('ABCD'.encode(), ('255.255.255.255', 5048))

while 1:
    try:
        data, addr = sock.recvfrom(1024)
    except socket.timeout:
        print('socket timeout')
        sock.sendto('ABCD'.encode(), ('255.255.255.255', 5048))

我无法确认 Wire Shark 上的广播。

标签: pythonpython-3.x

解决方案


[已解决] 我在以太网适配器选项中将 'Npcap Loopback Adapter' 更改为 'Disabled',并且我能够看到来自 Wire Shark 的 UDP 数据包。但我不知道为什么会这样。我想要建议。


推荐阅读