【问题标题】:What will happen to the socket if select timeout如果选择超时,套接字会发生什么
【发布时间】:2021-08-22 10:52:33
【问题描述】:

shutdown vs close的基础上知道了shutdown和close的区别。

但是如果在socket中选择超时,客户端将关闭或关闭(sock,SHUT_WR)。

我尝试阅读select.c的源代码,但是太难阅读了。

谁能帮帮我。

【问题讨论】:

  • 两者都不是。如果select() 超时,则套接字上完全发生了两者。除非您担心不活动超时,否则没有理由关闭或关闭它。

标签: c linux sockets tcp epoll


【解决方案1】:

但是如果在socket中选择超时,客户端将关闭或关闭(sock,SHUT_WR)。

如果客户端调用了select(),客户端可以决定当调用超时时该怎么做。

几乎按照定义,如果您的 select() 超时,它会告诉您 没有 发生在套接字上(无论如何,您告诉 select() 您感兴趣的都没有)。

套接字不会因为一段时间内没有发生任何事情而自动关闭(或关闭)。如果你愿意,你必须自己做。

【讨论】:

  • 是的,你是对的。我混淆了超时和关机,非常感谢。
猜你喜欢
  • 2019-09-02
  • 1970-01-01
  • 2020-04-04
  • 1970-01-01
  • 2011-05-18
  • 1970-01-01
  • 1970-01-01
  • 2017-01-31
  • 1970-01-01
相关资源
最近更新 更多