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

Python跨机器客户端连接服务器遇TimeoutError问题求助

解决跨机器Socket连接超时(TimeoutError: 10060)问题

核心排查与修复步骤

1. 修正服务器绑定地址

你的服务器代码中SERVER = socket.gethostbyname(socket.gethostname())可能仅绑定到当前机器的特定网卡(比如回环地址127.0.0.1),导致其他机器无法接入。

将服务器绑定地址改为0.0.0.0,让服务器监听所有可用网卡的连接请求:

# 替换原SERVER赋值行
SERVER = "0.0.0.0"

重启服务器后,控制台会显示[LISTENING] Server is listening on 0.0.0.0,此时服务器可接收来自任意网卡的连接。

2. 确认客户端使用的服务器IP正确

如果客户端和服务器处于同一局域网(同WiFi),客户端必须填写服务器的内网IP,而非外网IP或回环地址:

  • Windows:打开命令提示符,执行ipconfig,找到无线网卡对应的IPv4地址
  • Linux/macOS:执行ip addr或ifconfig,找到WiFi网卡的inet地址

3. 彻底检查防火墙规则

即使你检查过防火墙,也要确保两个关键设置:

  • 允许Python程序通过防火墙的入站、出站规则
  • 手动添加TCP 5050端口的入站规则:
    • Windows:控制面板→Windows Defender防火墙→高级设置→入站规则→新建规则→选择「端口」→TCP→填写5050→允许连接
    • Linux:执行sudo ufw allow 5050/tcp(若使用ufw防火墙)

4. 关闭路由器AP隔离

部分家用路由器默认开启AP隔离(客户端隔离),会阻止同WiFi下设备互相通信。进入路由器管理后台(通常为192.168.1.1或192.168.0.1),在无线设置中关闭该功能。

5. 测试网络连通性

在客户端机器上执行以下命令,定位网络层面问题:

  • 测试服务器IP可达性:ping 服务器内网IP
  • 测试5050端口是否开放:telnet 服务器内网IP 5050(Windows需先在「启用或关闭Windows功能」中开启telnet)
    • telnet连接失败:说明端口未开放或服务器未正确监听;连接成功:则网络无问题,需排查程序逻辑。

内容的提问来源于stack exchange,提问作者koder

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 18:22:22