客户端时不时接收到10054错误
在一个linux 群里,有人问:select写socket时候 建立链接立马发送数据有时候收不到数据 还提示10054 百分之八十的情况还是能收到的 一般收不到数据的时候 第二次再链接发送数据就能收到 请问是怎么回事呢?
对于好奇心极强的我,对于这个没遇到的问题,我就百度了10054错误。网上说:
一般来说是连接被对方重设。一个建立的连接被远程主机强行关闭,若远程主机上的进程异常终止运行(由于内存冲突或硬件故障),或者针对套接字执行了一次强行关闭,便会产生10054错误。针对强行关闭的情况,可用SO_LINGER套接字选项和setsockopt来配置一个套接字。
而对于 群里描述的那个问题,我回忆了 TCP/IP 协议,我认为会有如下两种情况:
(1)client 在与 server 进行三次握手时,client 调用 connect 函数完成了连接的建立(客户端自以为建立了),而实际server 那边却没有收到最后一次握手 ack 的回复。这时触发了 server 的 syn 触发器,重发 SYN+ACK 包,一般默认是重发 5次,时间分别是 1秒、2秒、4秒、8秒、16秒;而此时client 马上发送数据的话,server 会发 RST 回复给 client, 那么此时 client 就会提示 10054。
(2)而另一种情况就是 server 这边的 accept 队列满了(一般有 syn_recv 队列,accept队列),那么此时 server会直接回复RST(最新的 linux 内核是这么实现的),当然也有可能会拒绝 client的请求,让 client自己自动断开请求。
群里的一位大神(冒泡)说实现第二种方式,也就是拒绝 client发过来的请求,原因如下:
第一,服务器已经处理不过来了,再发rst加剧压力
第二,客户端如果丢包,会等到超时再重试,而收到rst的话有可能立刻重试,服务器压力会更大
客户端时不时接收到10054错误相关推荐
- [移动网关]2G环境下资源下载有一定概率失败,客户端日志显示收到403错误
2G环境下资源下载有一定概率失败,客户端日志显示收到403错误 问题现象: 测试同学在使用联通号码在移动网络环境下,访问连接得到的response_code出现是403,导致资源读取失败表情显示异常. ...
- socket error 10054错误出现的原因以及解决办法,全网最全没有之一
套接字是客户端-服务器通信的端点. FTP socket error 10054指示远程主机已强制终止或重置FTP客户端的现有连接.并且,用户看到完整的错误消息,如下所示. Upload failed ...
- 解决UDP出现的10054错误
问题描述如下: 一个机器A有两个IP 一个是内网的 一个是外网的 有用UDP写的C/S的程序 S放在A上 我的机器在内网 当我用内网IP通讯时 A能接收到数据并且A也能把接收到的数据返回 当我用外网I ...
- spss连接至远程计算机,通过远程连接打开SPSS产品时,收到许可证错误信息。从本地打开同一产品时没有错误。...
Problem 在一个服务器类型的机器上安装了单机版或站点版许可证客户端.在服务器端打开客户端时,产品可以正常使用.如果通过远程连接(比如,RDP/Terminal Services/Citrix)打 ...
- socket error 10054错误出现的原因及解决办法,全网最全没有之一
套接字是客户端-服务器通信的端点. FTP socket error 10054指示远程主机已强制终止或重置FTP客户端的现有连接.并且,用户看到完整的错误消息,如下所示. Upload failed ...
- 如何解决访问Windows Update网站时收到0X8024001D错误信息
现象: 当您尝试访问Windows Update网站时收到0X8024001D错误信息. 解决方案: 打开[开始]-[运行],输入"services.msc",打开[服务(本地)] ...
- Socket程序中的Error#10054错误
近期使用winSock做的一个网络项目中,使用TCP+Socket连接编写的一个多线程的网络程序,功能是client负责不断地向server端发送数据,服务端负责接收数据.client是一个DLL,服 ...
- 解决 Outlook 2007 客户端下载 OAB 时的错误 0x8004010F
解决 Outlook 2007 客户端下载 OAB 时的错误 0x8004010F 请参考:[url]http://technet.microsoft.com/zh-cn/library/cc4113 ...
- scrapy爬虫 出现10054错误 远程主机强迫关闭了一个现有的连接
** 解决:python爬虫 出现10054错误 远程主机强迫关闭了一个现有的连接 ** 问题: 1,网络问题. 确定是否是本机或爬虫目标网站出现网络问题 2,单位时间内请求页面频率过高 3,网站监测 ...
最新文章
- js 调用 jsp注意点
- 1016. 部分A+B (15)
- 可执行文件组成及内存映射
- 算法 --- 归并排序的js实现
- final 在 java 中有什么作用?
- android字符串显示textview,Android编程:TextView不显示完整字符串
- Cmake构建_选择debug与release的库
- FileExplorer手机访问电脑文件
- 关于微信公众号音频批量爬虫
- java生成树型思维导图,Android树形控件绘制方法
- hive新功能 Cube, Rollup介绍
- 解决用友固定资产出现的“不能月末结账,可能月末未结账”的处理办法
- C语言中统计英文单词的个数
- [附源码]Python计算机毕业设计城市旅游景点门票订购系统
- ADASISv3简述,自动驾驶怎么进行地图数据传输?
- americdan-life
- Android---简易Snackbar
- 2022-07-11 Python TCP服务器与客户端
- Kaggle亚马逊比赛冠军专访:利用标签相关性来处理分类问题
- 用java输出自己的名字_java 实现输出姓和名