Tcp客户端报错原因分析

00000001 2026-03-26 03:06:04 CTcpClient TCP连接测试ConnectTest failed!Server Ipaddr:10.135.134.103, iPort=7807,错误:Bad file descriptor

00000002 2026-03-26 03:06:04 CTcpClient ConnectThread 连接服务器失败!Server Ipaddr:10.135.134.103, iPort=7807,错误:Connection reset by peer

00000003 2026-03-26 03:06:04 CTcpClient ConnectThread 连接服务器失败!Server Ipaddr:10.135.134.101, iPort=7807,错误:Operation now in progress

00000004 2026-03-26 03:06:04 CTcpClient ConnectThread 连接服务器失败!Server Ipaddr:10.135.134.102, iPort=7807,错误:Operation now in progress

00000005 2026-03-26 03:06:05 CTcpClient TCP连接测试ConnectTest failed!Server Ipaddr:10.135.134.101, iPort=7807,错误:Bad file descriptor

00000006 2026-03-26 03:06:05 CTcpClient TCP连接测试ConnectTest failed!Server Ipaddr:10.135.134.102, iPort=7807,错误:Bad file descriptor

00000007 2026-03-26 03:06:06 CTcpClient ConnectThread 连接服务器失败!Server Ipaddr:10.135.134.103, iPort=7807,错误:Operation now in progress

00000008 2026-03-26 03:06:06 CTcpClient ConnectThread 连接服务器失败!Server Ipaddr:10.135.134.102, iPort=7807,错误:Operation now in progress

00000009 2026-03-26 03:06:06 CTcpClient ConnectThread 连接服务器失败!Server Ipaddr:10.135.134.101, iPort=7807,错误:Operation now in progress

00000010 2026-03-26 03:06:08 CTcpClient TCP连接测试ConnectTest failed!Server Ipaddr:10.135.134.103, iPort=7807,错误:Bad file descriptor

00000011 2026-03-26 03:06:08 CTcpClient ConnectThread 连接服务器失败!Server Ipaddr:10.135.134.103, iPort=7807,错误:Connection reset by peer

一、日志里 3 种错误分别是什么意思?

  1. Bad file descriptor(最关键、最频繁)

翻译:文件描述符无效 / 套接字已关闭

你用了一个已经被 close 关闭的 socket

或者根本没创建成功的 socket

去执行connect/send/recv

→ 直接报这个错

  1. Connection reset by peer

翻译:服务器强制断开了连接

你连上了,但服务器立刻把连接踢掉

原因:你用了无效 socket,服务器直接拒绝

  1. Operation now in progress

翻译:非阻塞连接正在进行中(被你错误当成失败)

非阻塞connect本来就是这个返回值

你的代码逻辑错误:把正常状态当成 "连接失败"

原因分析:

socket 没有重新创建就反复使用

connect 失败后,必须重新 socket (...) 创建新套接字

你没有重新创建,直接用旧的、已失效的 fd → Bad file descriptor

非阻塞 connect 逻辑错误

把EINPROGRESS当成连接失败,实际是正在连接中

socket 生命周期管理混乱

关闭了 fd,还继续用;或者没初始化就用

多线程环境没有加锁 / 没有判断 fd 有效性

相关推荐
Geometry Fu13 小时前
《物联网安全》第4章 网络攻防实例
网络·物联网·安全·网络攻击·网络攻防
LDR00613 小时前
LDR6020:多 Type‑C 端口角色管理与外设上电顺序的智慧核心
c语言·开发语言·云计算
德迅云安全-小潘13 小时前
数字化浪潮下,企业如何选型云场景DDoS防护方案?
网络
cany100013 小时前
C++ -- 原子变量
c++
阿文的代码库13 小时前
用于事件驱动系统的WebSocket
网络·websocket·网络协议
andlbds13 小时前
解决Ubuntu20.04进入系统卡死在厂商Logo界面问题
linux·ubuntu
MIXLLRED13 小时前
解决: Ubuntu 22.04上树莓派4B扩展板ROS2兼容性修复指南
linux·ubuntu·树莓派
zizle_lin13 小时前
CentOS配置yum源
linux·运维·centos
数字护盾(和中)13 小时前
攻击链识别:企业抵御快攻型勒索攻击的关键能力
网络·安全·web安全
志栋智能13 小时前
超自动化运维:如何降低人为错误?
大数据·运维·网络·人工智能·自动化