开发者社区> 问答> 正文

对一个TCP连接执行write或send函数,当函数成功返回时,是否意味着数据已经成功被对方接收?

总所周知,TCP是一个可靠的传输协议,那么假如在一个已经成功建立的TCP连接上用write或send发送数据,TCP是否保证数据成功被对端接收后才返回0?如果不是,发送函数返回表示正常的返回值意味着什么?

展开
收起
a123456678 2016-06-15 10:53:56 2929 0
1 条回答
写回答
取消 提交回答
  • write成功返回,只是buf中的数据被复制到了kernel中的TCP发送缓冲区。至于数据什么时候被发往网络,什么时候被对方主机接收,什么时候被对方进程读取,系统调用层面不会给予任何保证和通知。

    2019-07-17 19:38:54
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
TCP Cluster for mqtt技术实施方案 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载