繁体   English   中英

Linux C ++ TCP套接字-启用阻止模式

[英]Linux C++ TCP Socket - Enable Blocking Mode

令人惊讶的是,我很难找到答案。

我有一个TCP客户端套接字,可以成功连接并发送数据。 但是,发送数据后,我希望服务器会返回一个响应。 我检查了我的套接字,它似乎处于非阻止模式。

if (fcntl(sc->connect_d, F_GETFL) && O_NONBLOCK)
{
//non blocking
}

启用阻止模式的宏是什么,以便我可以更轻松地读取服务器响应? 有人可以给我一个可以做到这一点的小片段吗? 谢谢

if (fcntl(sc->connect_d, F_GETFL) && O_NONBLOCK)

上面的代码不正确。 它应该是:

if (fcntl(sc->connect_d, F_GETFL) & O_NONBLOCK)

请注意,默认情况下,TCP套接字是在阻塞模式下创建的,因此(假设您自己创建了套接字),您无需执行任何操作即可将其“放入”阻塞模式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM