gpt4 book ai didi

c++ - Linux 上的异​​步套接字发送

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:18:55 25 4
gpt4 key购买 nike

当在异步套接字上发送时返回 EAGAIN,这是否意味着:当前调用刚刚成功排队,或者由于系统仍在处理之前的发送而未执行任何操作?

提前谢谢你。

最佳答案

来自 man 2 send:

The socket is marked nonblocking and the requested operation would block. POSIX.1-2001 allows either error to be returned for this case, and does not require this constants [EAGAIN EWOULDBLOCK] to have the same value, so a portable application should check for both possibilities.

所以,我认为 EAGAIN 的意思是:小心,消息不适合发送缓冲区,此调用将在正常(阻塞)模式下被阻塞。使用select(2)判断是否可以发送更多数据。

附言实际上,看起来调用失败了,什么也没做。

关于c++ - Linux 上的异​​步套接字发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5633226/

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