gpt4 book ai didi

linux - TCP_NODELAY 和 MSG_DONTWAIT 有什么区别

转载 作者:可可西里 更新时间:2023-11-01 02:47:30 25 4
gpt4 key购买 nike

TCP_NODELAYMSG_DONWAIT 有什么区别?我知道一个是特定于 TCP 的,另一个是发送时的通用套接字选项,但这两个选项是否有行为不同场景下的不同? 就像TCP_NODELAY一样,MSG_DONTWAIT是否也禁用了Nagle算法?

具体来说,我正在尝试通过我的本地 LAN 网络发送数据,我不希望我的套接字在发送时因为任何原因而卡住,我只希望它发送数据包并立即返回。哪个是更好、更可靠的选择。(此问题特定于 Linux 套接字)

最佳答案

TCP_NODELAY 不会在这里帮助您 - Nagle 算法只是关于数据在发送前如何在 TCP 堆栈中缓冲,并且不会影响您程序中的控制流。您想要的是一个非阻塞套接字 - send 调用将立即返回,您可以稍后查询它们以了解是否发生了任何事情。

关于linux - TCP_NODELAY 和 MSG_DONTWAIT 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9060452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com