You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows系统下Python UDP接收代码超时问题的排查与解决咨询

Windows系统下Python UDP接收代码超时问题的排查与解决咨询

大家好,我遇到了一个很费解的UDP接收问题,想请教下各位大佬:

我在Windows 10机器上用Python 3.10.11写了一段代码,想要在9001端口接收UDP数据(机器上没有运行任何虚拟机),代码如下:

import socket
import json

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(("0.0.0.0", 9001))
sock.settimeout(5)

while True:
    data = sock.recv(1024)
    decoded = json.loads(data.decode())
    print(f"received message:  {decoded}")

但运行这段代码后,我一直触发TimeoutError。不过用Wireshark抓包能明确看到,每秒都有数据发送到9001端口。更奇怪的是,我在同一台Windows机器上启动Ubuntu虚拟机,运行完全相同的代码,却能正常接收到这些UDP数据。

我想搞明白怎么让这段代码直接在Windows上正常工作?是不是需要设置什么系统权限?还是Windows本身处理UDP数据包有特殊机制?或者是防火墙拦截了?到底哪里出问题了?有没有办法让这段代码在Windows上直接运行成功?

备注:内容来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 12:07:59