【问题标题】:What does return 0 mean when i write socket? [closed]当我写套接字时返回 0 是什么意思? [关闭]
【发布时间】:2014-01-23 17:24:37
【问题描述】:

当我在 linux 上用 C 写(或读)套接字时,return 0(or -1) 是什么意思?

而这些事情会在什么情况下发生?

以及如何处理errno==EINTR

使用write() and read() 函数。

【问题讨论】:

  • 阅读功能说明...
  • 这个问题是题外话,因为它展示了先前研究的零证据,并且现有文档已经回答了。
  • 我认为他/她现在有答案了......带着一些反对票的负担。

标签: c++ c linux sockets return-value


【解决方案1】:

EINTR 表示操作被信号中断。您可以忽略它并继续读/写。您可以找到更多信息Here.

【讨论】:

    【解决方案2】:
    1. 0 = 表示连接已关闭 (EOF)。
    2. > 0 表示读/写字节数。

    如果您遇到EINTR,您通常可以忽略它并继续阅读。

    【讨论】:

    • 如果你有一个信号处理程序,你可能想做一些事情(取决于你的代码),但在一般情况下你可以忽略它。 IE。如果您有计时器,或者想要中断您的等待、关机等。
    • @cola,如果答案有帮助,最好accept它。
    猜你喜欢
    • 1970-01-01
    • 2022-01-23
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    相关资源
    最近更新 更多