当通过 Socket 发送数据时,send/write 何时返回 -1?

Bla*_*bel 2 c sockets linux tcp

Linux。TCP 套接字。

send()/write() 命令何时失败?

只有当内核中的TCP发送缓冲区溢出时才返回-1吗?

Gav*_*n H 5

来自write() 的OpenGroup定义:

成功完成后,write() [XSI] 和 pwrite() 应返回实际写入与 fildes 关联的文件的字节数。该数字绝不能大于 nbyte。否则,应返回-1并设置errno以指示错误。

send() 也做了同样的事情 - Send() 的OpenGroup页面

您可以通过查看 errno 来了解更多信息。有关更多信息,请参阅有关 errno 的OpenGroup页面。