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

Python虚拟机本地Socket连接报错WinError 10061求助

Python虚拟机本地Socket连接报错WinError 10061求助

嘿,我之前也踩过这个Socket连接的坑,给你梳理几个接地气的排查方向,你一步步来试:

首先先拍脑袋确认最容易漏的低级错误:你是不是先启动了server.py,再运行的client.py? 要是服务器进程都没开,客户端肯定连不上,这个报错会直接跳出来。

接下来咱们按优先级排查:

  1. 先在虚拟机内部做本地连通性测试
    把你的client.py里的连接地址改成('localhost', 8089)或者('127.0.0.1', 8089),然后在虚拟机里先跑server.py,再跑client.py。如果这个能成功,说明你的Socket代码本身是没问题的,问题出在跨机器(宿主机→虚拟机)的网络连通性上;如果本地都连不上,那得检查服务器的监听状态:

    • Windows虚拟机里,打开命令行输netstat -ano | findstr 8089,看看有没有进程在监听8089端口;
    • Linux虚拟机的话输netstat -tulpn | grep 8089,确认server.py的进程真的占着这个端口。
  2. 确认虚拟机的IP地址是否正确
    你客户端里用的是192.168.1.171,先在虚拟机里查一下真实IP:

    • Windows输ipconfig,找以太网或者Wi-Fi的IPv4地址;
    • Linux输ip addr,找对应的网卡IP。
      别输错了IP,这也是新手常踩的坑。
  3. 检查虚拟机的网络模式
    这个是关键!如果你的虚拟机用的是NAT模式,宿主机和虚拟机不在同一个局域网段,直接连虚拟机的IP肯定不通。你得把虚拟机的网络模式改成桥接模式,这样虚拟机会和你的宿主机获取同一网段的IP,就能正常通信了;如果用的是“仅主机模式”,要确保宿主机上的虚拟网卡(比如VMware的VMnet1)是启用状态,没被禁用。

  4. 再确认防火墙状态
    你说关了防火墙,但要注意:是只关了宿主机的,还是虚拟机里的防火墙也关了?两边的防火墙都得检查一遍,比如Windows虚拟机里的Windows Defender防火墙,Linux里的ufw/iptables,都暂时关掉试试。

  5. 最后提个小细节(不是当前报错的原因,但之后有用)
    你的client.py里send完消息后,记得加上socket_main.close(),不然会有socket资源泄漏的问题。

按照这个顺序排查,应该能快速定位到问题!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 13:23:08