c - 当套接字设置为非阻塞时,有什么方法可以在阻塞模式下临时使用 send 或 recv

标签 c sockets network-programming

如果套接字设置为非阻塞,

但在某个时刻,我想在阻塞模式下使用此套接字发送或接收,

可不可以暂时以阻塞模式发送,然后恢复为非阻塞模式。

如果是这样,反过来呢?如果套接字处于阻塞模式,则在非阻塞模式下临时使用 send 或 recv?

谢谢!

最佳答案

您可以将 fcntl()O_NONBLOCK 标志一起使用。

使用它来设置套接字的阻塞模式,发送(或接收)你的数据并再次使用fcntl来设置套接字的非阻塞模式。

关于c - 当套接字设置为非阻塞时,有什么方法可以在阻塞模式下临时使用 send 或 recv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17107691/

相关文章:

c - fopen() 的问题

c - 如何将字符串传递给链表而不是 C 中的字符数组?

javascript - Node.js 和 Socket.io : Self-signed certificates for a secure websocket connection

java - 是否可以在 java 中获取默认网关 IP 和 MAC 地址?

ios - 无法连接到 Apple 服务器以获取推送通知

go - bufio readbytes 缓冲区大小

c - 在微 Controller 上用 C 语言加密/解密小消息

c - 当您不知道有多少个整数时,如何从 char 字符串中读取整数? (在 C 中)

java - 从unix到java的tcp连接

javascript - 当只调用一次 emit 时,自定义事件被多次触发