gpt4 book ai didi

linux - udp sendto 持续时间过长(异常时间)

转载 作者:太空狗 更新时间:2023-10-29 12:37:18 32 4
gpt4 key购买 nike

在我的应用程序中,我通过 UDP 套接字以大约 58MB/秒的速率发送数据。大多数时候它工作正常,但有时 sendto 持续时间太长,时间分组在 0.1、0.2、0.3 秒左右(见下图)。我的系统是内核为 2.6.32-24-server 的 linux 系统,每次发送的缓冲区长度为 45000 字节。您知道为什么有时会发生这种情况吗?

enter image description here

最佳答案

来自发送(2):当消息不适合套接字的发送缓冲区时,
send() 通常是阻塞的,除非套接字已被置于非阻塞状态。
荷兰国际集团的I/O模式。在非阻塞模式下,它将失败并出现错误 EAGAIN
或 EWOULDBLOCK 在这种情况下。 select(2) 调用可用于阻止
当可以发送更多数据时我的。

除此之外,内核可能同时在做其他事情。如果是这种情况,按照 yi_H 的建议,使用 RT 内核可能会有所帮助。

关于linux - udp sendto 持续时间过长(异常时间),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7804641/

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