linux网络编程socket错误码分析

linux网络编程socket错误码分析

ID:16758348

大小:40.50 KB

页数:7页

时间:2018-08-24

linux网络编程socket错误码分析_第1页
linux网络编程socket错误码分析_第2页
linux网络编程socket错误码分析_第3页
linux网络编程socket错误码分析_第4页
linux网络编程socket错误码分析_第5页
资源描述:

《linux网络编程socket错误码分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Linux网络编程socket错误分析socket错误码:EINTR:4阻塞的操作被取消阻塞的调用打断。如设置了发送接收超时,就会遇到这种错误。只能针对阻塞模式的socket。读,写阻塞的socket时,-1返回,错误号为INTR。另外,如果出现EINTR即errno为4,错误描述Interruptedsystemcall,操作也应该继续。如果recv的返回值为0,那表明连接已经断开,接收操作也应该结束。ETIMEOUT:1101、操作超时。一般设置了发送接收超时,遇到网络繁忙的情况,就会遇到这种错误。2、服务器做了读数据做了超时限制,读时发生了超时。3

2、、错误被描述为“connecttimeout”,即“连接超时”,这种情况一般发生在服务器主机崩溃。此时客户TCP将在一定时间内(依具体实现)持续重发数据分节,试图从服务TCP获得一个ACK分节。当最终放弃尝试后(此时服务器未重新启动),内核将会向客户进程返回ETIMEDOUT错误。如果某个中间路由器判定该服务器主机已经不可达,则一般会响应“destinationunreachable”-“目的地不可达”的ICMP消息,相应的客户进程返回的错误是EHOSTUNREACH或ENETUNREACH。当服务器重新启动后,由于TCP状态丢失,之前所有的连接信息也不

3、存在了,此时对于客户端发来请求将回应RST。如果客户进程对检测服务器主机是否崩溃很有必要,要求即使客户进程不主动发送数据也能检测出来,那么需要使用其它技术,如配置SO_KEEPALIVESocket选项,或实现某些心跳函数。EAGAIN:1、Send返回值小于要发送的数据数目,会返回EAGAIN和EINTR。2、recv返回值小于请求的长度时说明缓冲区已经没有可读数据,但再读不一定会触发EAGAIN,有可能返回0表示TCP连接已被关闭。3、当socket是非阻塞时,如返回此错误,表示写缓冲队列已满,可以做延时后再重试.4、在Linux进行非阻塞的sock

4、et接收数据时经常出现Resourcetemporarilyunavailable,errno代码为11(EAGAIN),表明在非阻塞模式下调用了阻塞操作,在该操作没有完成就返回这个错误,这个错误不会破坏socket的同步,不用管它,下次循环接着recv就可以。对非阻塞socket而言,EAGAIN不是一种错误。EPIPE:1、Socket关闭,但是socket号并没有置-1。继续在此socket上进行send和recv,就会返回这种错误。这个错误会引发SIGPIPE信号,系统会将产生此EPIPE错误的进程杀死。所以,一般在网络程序中,首先屏蔽此消息,以

5、免发生不及时设置socket进程被杀死的情况。2、write(..)onasocketthathasbeenclosedattheotherendwillcauseaSIGPIPE.3、错误被描述为“brokenpipe”,即“管道破裂”,这种情况一般发生在客户进程不理会(或未及时处理)Socket错误,继续向服务TCP写入更多数据时,内核将向客户进程发送SIGPIPE信号,该信号默认会使进程终止(此时该前台进程未进行coredump)。结合上边的ECONNRESET错误可知,向一个FIN_WAIT2状态的服务TCP(已ACK响应FIN分节)写入数据不成

6、问题,但是写一个已接收了RST的Socket则是一个错误。otherstaffoftheCentre.Duringthewar,ZhuwastransferredbacktoJiangxi,andDirectorofthenewOfficeinJingdezhen,JiangxiCommitteeSecretary.Startingin1939servedasrecorderoftheWestNorthOrganization,SecretaryoftheSpecialCommitteeAfterthevictoryofthelongMarch,heha

7、sbeentheNorthwestOfficeoftheFederationofStateenterprisesMinister,ShenmufuguSARmissions,DirectorofNingxiaCountypartyCommitteeSecretaryandrecorderoftheCountypartyCommitteeSecretary,MinistersandEBADF:read(..)orwrite(..)onalocallyclosedsocketwillreturnEBADFEFAULT:地址错误。EBUSY:ECONNREFU

8、SED:1、拒绝连接。一般发生在连接建立时。拔服务器端网线测试,客户端设置kee

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。