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

Python Socket连接报错[WinError 10061]:目标计算机拒绝连接请求

跨计算机Socket通信连接拒绝问题排查与修复

核心问题定位

服务器绑定的127.234.231.124属于回环地址段(127.0.0.0/8),这类地址仅允许本机内部访问,跨计算机发起的连接请求会直接被拒绝,这是导致ConnectionRefusedError的首要原因。

排查与修复步骤

1. 修正服务器绑定地址

将服务器的绑定地址改为0.0.0.0(监听所有可用网卡),或者服务器所在计算机的对外可访问IP(如局域网IP 192.168.x.x):

import socket

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定所有网卡的55894端口,允许外部设备连接
sock.bind(('0.0.0.0', 55894))
sock.listen()
print('Listening for connections on port 55894...')
while True:
    conn, addr = sock.accept()
    print(f'Connected from {addr}')
    data = conn.recv(1024)
    if data:
        # 打印客户端发送的消息,满足需求
        print(f'Received message: {data.decode("UTF-8")}')
        conn.send(data.upper())
    conn.close()

2. 调整客户端连接地址

客户端需连接服务器的实际对外IP(而非回环地址),先通过服务器端的ipconfig(Windows)或ifconfig(Linux/macOS)获取正确IP,修改客户端代码:

import socket

# 替换为服务器的实际局域网/公网IP
SERVER_IP = '192.168.1.100'
SERVER_PORT = 55894

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((SERVER_IP, SERVER_PORT))
sock.send(bytes('Hello, world', encoding='UTF-8'))
data = sock.recv(1024)
sock.close()
print(data.decode("UTF-8"))

3. 检查网络连通性

  • 在客户端执行 ping [服务器IP],确认两台计算机网络可达;
  • 执行 telnet [服务器IP] 55894,验证端口是否开放,若连接失败需排查端口占用或防火墙设置。

4. 配置防火墙放行

  • 服务器端:允许Python程序通过防火墙,或手动开放55894端口的入站连接;
  • 客户端:确保防火墙允许向服务器IP和端口发起出站连接。

5. 验证服务器监听状态

在服务器端执行:

  • Windows:netstat -ano | findstr 55894,查看端口是否被Python进程占用;
  • Linux/macOS:netstat -tulpn | grep 55894,确认服务正在监听指定端口。

内容的提问来源于stack exchange,提问作者Тимофей Рачков

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 17:37:14