c语言read()返回-1,errno:Connection reset by peer
问题描述:服务器端执行完send()后调用close()关闭socket,然后exit()正常退出。客户端read()函数返回-1,errno104 : Connection reset by peer,查了一下原因:
这意味着收到了TCP RST包,可以使用tcpdump + wireshark抓包分析,并且连接现在已经关闭,这种情况可能是因为对方崩溃,或者对方调用了close()函数。
解决方法:只要TCP栈的读缓冲里还有未读取(read)数据,则调用close时会直接向对端发送RST。服务器在调用close()函数前,调用shutdown(socket, 2),先关闭socket的读写功能,这时会向客户端发送FIN包,客户端收到FIN包时read()正常返回0,可以完全读取缓冲数据,问题解决。
close()和shutdown()的区别:
请参考:https://blog.csdn.net/xyyaiguozhe/article/details/30252559
c语言read()返回-1,errno:Connection reset by peer相关推荐
- [Python] ConnectionResetError: [Errno 104] Connection reset by peer
python socket 编程,sftp远程读日志文件,取最后的30行返回.收到ConnectionResetError: [Errno 104] Connection reset by peer报 ...
- python [Errno socket error] [Errno 104] Connection reset by peer
python [Errno socket error] [Errno 104] Connection reset by peer 原因可能是多方面的,不过更常见的原因是: ①:服务器的并发连接数超过了 ...
- (20200921 Solved)ConnectionResetError: [Errno 104] Connection reset by peer
问题描述 用Python连接docker容器中的Redis 预备知识 [Errno 104] Connection reset by peer errno 104表示对一个对端socket已经关闭的连 ...
- <urlopen error [Errno 104] Connection reset by peer>
使用python写一个脚本调用接口时,报了这个错,在"urllib.request.urlopen(req, context=context)"这个方法中报错. 错误原因 发送的r ...
- python httplib [Errno 104] Connection reset by peer问题
写了一个简单的http client 方法,代码如下 import httplib import json from common.logger import sys_loggerdef http_r ...
- ConnectionResetError: [Errno 104] Connection reset by peer
Python代码使用循环发起网络请求,发起单个没有问题,发起多个请求,就会报错 ConnectionResetError: [Errno 104] Connection reset by peer 可 ...
- Connection reset by peer (秒懂)
疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 面试必备 + 面试必备 [博客园总入口 ] 疯狂创客圈 经典图书 : <Sprin ...
- error connection reset by peer 104
connection reset by peer的常见原因 1.服务器的并发连接数超过了其承载量,服务器会将其中一些连接关闭: 2. errno = 104错误表明你在对一个对端socket已经关闭的 ...
- Tomcat:Connection reset by peer: socket write error
Connection reset by peer: socket write error错误分析及解决 Connection reset by peer: socket write error错误分析 ...
最新文章
- vue2 切换路由时 页面滚动到顶部 用游览器返回时 记住上页的位置
- 【带你重拾Redis】Redis 主从架构
- css3关键帧动画以及兼容性策略
- GMM(Gaussian mixture model, 高斯混合模型)
- C与C++的内存机制的比较
- Codeforces Round #736 (Div. 2) D. Integers Have Friends ST表gcd + 尺取
- memcached命令行、Memcached数据导出和导入、php连接memcache、php的session存储到memcached...
- (原创)C++ IOC框架
- java ajax返回数组_js对ajax返回数组的处理介绍
- AndroidStudio使用Git,Commit、Push代码到GitLab权限失败问题
- 历代iPhone主要参数对比,更新于2022年03月
- ue4风格化材质_在UE4中制作风格化场景:Bird House_资源库
- CSS布局:多种方案实现固定页脚(sticky footer)
- 【疑难解决】H265编码流媒体播放器EasyPlayer.js播放HLS H265视频流,遇到黑屏如何排查?
- 从东京奥运会看js设计模式之发布订阅模式
- [Tool] 仿博客园插入代码的 WLW 插件
- 《成语接龙》隐私说明
- python爬取网站数据(含代码和讲解)
- Octree(八叉树)
- 走近门球运动·体育项目
热门文章
- 给微信5.0泼凉水:社交+电商难落地
- 计算机组成原理模型机设计实验总结,计算机组成原理课程设计实验报告-基本模型机设计与实现.docx...
- float和eval在python中的意思_Python3中,eval和float有什么区别
- 实习期间遇到问题和解决方法
- 苏黎世新研究:人工智能探测暗物质【智能快讯】
- 亲,你今天“神聊”了吗?
- python五子棋游戏_python小项目之五子棋游戏
- 彩虹云秒赞首页模板 星辰美化
- 实现微信转发朋友圈和微信好友
- linux内核usb驱动框架,基于S3C2440平台的linux2.6.22内核版本的USB驱动框架分析