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

Python Socket编程出现errno 111连接拒绝错误,求问题排查

排查Python Socket连接拒绝(errno 111)问题

嘿,这个问题其实一眼就能揪出根源——端口不匹配!咱们来一步步拆解:

核心错误点

先看你的两段代码:
服务端绑定的是8088端口:

# 服务端代码片段
s.bind(('', 8088))  # 服务端监听8088端口

但客户端却试图连接8080端口:

# 客户端代码片段
s.connect(('127.0.0.1', 8080))  # 客户端连接的是8080端口

两边端口完全不一致,客户端找不到对应的服务端监听,自然就会抛出errno 111: Connection refused错误。

快速修正方案

只需要把两端的端口改成统一值就行,比如把客户端的连接端口改成和服务端一致的8088:

# 修正后的客户端代码
import socket
s = socket.socket()
s.connect(('127.0.0.1', 8088))  # 端口改为8088,和服务端保持一致
while 1:
    print(s.recv(2048))

当然反过来把服务端的绑定端口改成8080也可以,只要两边统一就好。

额外排查小贴士(避免以后踩坑)

  • 一定要先启动服务端,再运行客户端,不然客户端连的时候服务端还没开始监听
  • 可以用命令验证端口是否被正确监听:Linux/macOS用netstat -an | grep 8088,Windows用netstat -ano | findstr 8088
  • 如果是跨机器连接,还要确认防火墙有没有放行目标端口,以及服务端绑定的地址是否允许外部访问(你现在用的''是绑定所有地址,本地连接没问题)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:26:30