gpt4 book ai didi

c++ - send() 可以自动变为非阻塞吗?

转载 作者:行者123 更新时间:2023-11-28 00:56:49 25 4
gpt4 key购买 nike

我是否必须等待 select() 的信号才能在非阻塞套接字中发送内容?如果我总是有东西要发送然后调用 send() 函数怎么办?我的意思是,每次我调用 send() 时,肯定会有一些固定长度的数据要发送。这是否意味着发送不会阻塞?

最佳答案

send 的调用永远不会在非阻塞套接字上阻塞。如果无法发送数据(例如,如果发送缓冲区已满),则 send 将立即返回值 SOCKET_ERROR

任何会阻塞的调用都由错误代码 WSAEWOULDBLOCK 发出信号(通过调用 WSAGetLastError)。

调用receive也是如此,如果接收缓冲区中没有数据,调用仍然会立即返回,但会出错。

关于c++ - send() 可以自动变为非阻塞吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10668508/

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