繁体   English   中英

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

[英]When data is sent over a Socket, when does send/write returns -1?

Linux操作系统。 Tcp套接字。

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

仅当内核中的TCP发送缓冲区溢出时,它是否返回-1?

从write()的OpenGroup定义:

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

send()的相同事情 - send()的OpenGroup页面

您将通过查看错误找到更多信息。 有关更多信息,请参阅errno上的OpenGroup页面。

对于您的特定点 - 如果您的写入调用是阻塞的 (默认情况下),溢出将阻止您,直到有可用的缓冲区空间。

如果写入调用是非阻塞的 ,并且缓冲区已满, 则会收到错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM