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

使用Python Socket连接两台计算机报错ConnectionRefusedError如何解决?

跨主机Socket通信问题修复

根因说明

  • 原有服务端绑定localhost(回环地址127.0.0.1),仅允许同一设备上的进程发起连接,无法接收其他主机的访问请求
  • 原有客户端固定连接localhost,跨主机部署时会错误访问客户端本地的9999端口,而非服务端主机的对应端口

修复后代码

服务端代码

import socket

s = socket.socket()

# 绑定所有可用网络接口,允许任意主机发起连接
ip = '0.0.0.0'
port = 9999
s.bind((ip, port))
s.listen()
print("wait for client...")
c, addr = s.accept()
print(f"client added: {addr}")
while True:
    msg = input("your message:>>>")
    c.send(msg.encode())
    print(c.recv(1000000).decode())

客户端代码

import socket

s = socket.socket()

# 此处替换为服务端所在主机的实际IP地址,例如局域网IP 192.168.3.20
ip = '替换为服务端实际IP'
port = 9999

s.connect((ip, port))
print("connected")
while True:
    print(s.recv(1000000).decode())
    msg = input("your message:>>>")
    s.send(msg.encode())

必要验证步骤

  • 确认服务端与客户端网络连通:在客户端设备执行ping 服务端IP,确认无丢包
  • 确认服务端设备防火墙已开放9999端口的入站规则,测试时可临时关闭防火墙验证
  • 若服务端部署在公网环境,需配置路由器端口映射,将9999端口映射到服务端所在内网设备的对应端口

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 20:15:05