栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

TCP保持活动断开连接时会出现什么套接字错误?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

TCP保持活动断开连接时会出现什么套接字错误?

  • select()
    如果为其选择的其中一个套接字发出了错误信号,则它本身不会返回错误。[实际上,API无法以这种方式指示每个套接字的错误,因为两个不同的套接字可能在的一次调用中就各自获取挂起的错误
    select()
    。哪一个会
    select()
    回来?]
  • 在循环的每次迭代之后
    select()
    ,您改而使用FD_ISSET宏
    read()
    在每个标记为可读的套接字上尝试。
  • 每当套接字设置了未决的错误集时,都会发信号通知其读取事件(和写入事件)并
    select()
    返回,从而使您可以立即拾取由于保持活动状态而导致的超时错误。请注意,选择标记要读取的套接字并不表示有数据要读取,只是读取尝试不会被阻止。如果套接字有未决错误要检索,则读取不会阻塞。无论
    read(2)
    write(2)
    第一甚至试图以处理任何数据之前检索套接字上任何挂起的错误。

当对O_NONBLOCK清除的输入函数的调用不会阻塞时,无论该函数是否成功传输数据,都应认为描述符已准备就绪,可以读取。(该函数可能返回数据,文件结尾指示或一个错误,表明该文件已被阻止,并且在每种情况下,描述符都应视为可以读取。)[
POSIX:select() ]

  • 最后,返回什么错误?至关重要的是,这取决于保持连接失败的方式。
    ETIMEDOUT
    如果另一端完全消失,您会得到的。如果发生数据包传递错误,您将转而通过(因此,如果保持活动的数据包收到ICMP错误回复,例如“主机不可达”,则将已
    EHOSTUNREACH
    传递)。[有关这些情况的更多详细信息,请参见Stevens,“ Unix网络编程,第1卷”。]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/403291.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号