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 套接字是在阻塞模式下创建的,因此(假设您自己创建了套接字)您不需要执行任何操作来"将其放入"阻塞模式。
相关文章:
- 编译时未启用intel oneApi CUDA支持
- 具有奇怪重复模板模式的派生类中的成员变量已损坏
- 为什么在保护模式下继承升级不起作用
- 如何在全屏模式下(在OpenGL中)使背景透明
- 为什么使用__LINE_的代码在发布模式下在MSVC下编译,而不是在调试模式下
- 派生类是否可以在抽象工厂设计模式中具有数据成员
- OpenGL在启用深度测试时不会丢弃我的碎片
- 此模式的C++RegEx
- Visual C++GC接口如何启用它以及要包含哪个库
- avrogencpp能为模式中的每种类型生成单独的头文件吗
- 使用可变模板的Broadcaster/Listener模式
- c++方法参数只能在linux的发布模式下自行更改
- 如何在自定义类中启用'auto loops'?
- 在C/C 中启用高对比度模式
- Linux C++ TCP 套接字 - 启用阻塞模式
- 在VS2010调试模式下启用多核编译
- QMAKE*.pro文件:在发布模式下启用调试信息
- 在infinispan中启用兼容模式似乎没有做任何事情
- 如何从启用了优化(发布模式)的二进制文件中分析崩溃转储
- 通过策略(策略)模式启用多个后端