如何将套接字重置回阻塞模式(在将其设置为非阻塞模式之后)?

2023-12-27

我已经阅读了有关将套接字设置为非阻塞模式的内容。

http://www.gnu.org/software/libc/manual/html_mono/libc.html#File-Status-Flags http://www.gnu.org/software/libc/manual/html_mono/libc.html#File-Status-Flags

这是我所做的:

static void setnonblocking(int sock)
{
    int opts;

    opts = fcntl(sock,F_GETFL);
    if (opts < 0) {
        perror("fcntl(F_GETFL)");
        exit(EXIT_FAILURE);
    }
    opts = (opts | O_NONBLOCK);
    if (fcntl(sock,F_SETFL,opts) < 0) {
        perror("fcntl(F_SETFL)");
        exit(EXIT_FAILURE);
    }
    return;
}

如何将套接字设置回阻塞模式?我没有看到 O_BLOCK 标志?

谢谢。


您是否尝试清除 O_NONBLOCK 标志?

opts = opts & (~O_NONBLOCK)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将套接字重置回阻塞模式(在将其设置为非阻塞模式之后)? 的相关文章

随机推荐

  • 更新已安装包中的数据集

    是否可以更新本地已安装软件包中的数据集 我维护的包有一个基于定期更新数据的数据集 我想更新数据集的本地版本并将更改保存回包中 以便下次加载数据时 即data xxx 将加载数据集的更新版本 从中长期来看 我将更新软件包 然后将新版本上传到
  • 如何返回带有错误消息或异常的 NotFound() IHttpActionResult?

    我正在返回 NotFoundIHttpActionResult 当我的 WebApi GET 操作中找不到某些内容时 除了此响应之外 我还想发送自定义消息和 或异常消息 如果有 目前的ApiController s NotFound 方法不
  • Python浮点舍入错误[重复]

    这个问题在这里已经有答案了 使用列表理解表达式时 x 0 1 for x in range 0 5 我希望得到这样的列表 0 0 0 1 0 2 0 3 0 4 然而我却得到了这个 0 0 0 1 0 2 0 300000000000000
  • 如何接收流式传输的 HTTP 响应

    当使用 Go 抛出 HTTP 请求并接收响应时 考虑到 ResponseBody 很大 1 GB 或更多 的情况 我希望在流式传输时接收响应 resp err http Client Do req 在这种情况下 如果正文很大 我无法读取标题
  • 可可应用程序的卸载程序

    我使用 PackageMaker 作为我的应用程序的安装程序 这不仅仅是一个简单的捆绑包 我想知道如何创建卸载程序 在哪里安装它以及如何向用户提供启动它的方式 在此先感谢您的帮助 在为某些 MAC 操作系统应用程序实现卸载程序时 我们想到了
  • 如何管理 Feign 错误?

    我们正在使用弹簧启动 with 春云 and Spring cloud Netflix with Spring cloud feign 我们正在创建我们的网关应用程序 它的帮助是Feign将尝试与我们沟通authentication微服务以
  • JSON 到 Java 类

    有没有一种简单的方法可以通过 android API 将数据从 JSON 映射到我的类的字段 JSON email email password pass 我的课 class Credentials string email string
  • 了解自适应龙格库塔积分器的局部截断误差

    我正在实现一个 RKF4 5 积分器 我无法确定我的代码是否正常工作 并且我不明白本地截断错误 或者我的代码是否无法正常工作 对于代码块的大小 我深表歉意 但在这种情况下 最小可重现示例相当大 import numpy as np def
  • C++ GDI+ 如何绘制带边框半径的矩形

    这就是我使用 GDI 绘制矩形的方法 Graphics g hdc SolidBrush blueColor Color 255 74 134 232 g FillRectangle blueColor x y width height D
  • 如何知道应用程序是否被用户或 iOS 终止(后台 10 分钟后)

    重启应用程序时如何知道应用程序是被用户终止还是被iOS终止 gt 按用户 是指 通过双击主页按钮并按 按钮 被用户杀死 通过 iOS 意味着 应用程序进入后台运行状态 iOS 在 10 分钟后终止应用程序 如果您的应用程序处于暂停状态app
  • 添加矩阵的倍数,无需构建新矩阵

    假设我有两个矩阵B and M我想执行以下语句 B 3 M 我重复执行这条指令 所以我不想每次都构建矩阵3 M 3可能会改变 这只是为了表明我只做标量矩阵乘积 它是一个 numpy 函数 使这个计算 就位 吗 更准确地说 我有一个标量列表a
  • ant 错误“命令的语法不正确。”运行 ant.bat

    我尝试了各种 ant 版本 也尝试直接从 ant home bin 目录运行命令 但没有成功 仅出现以下错误 ant 错误 命令的语法不正确 运行 ant bat 请对此提供帮助 我在网络上找不到任何有用的信息 Thanks 幸运的是我找到
  • PayPal 沙盒帐户空白

    我通过 PayPal 沙箱创建的帐户 创建于http developer paypal com http developer paypal com 创建时余额为零 并且没有信用卡 无论我在创建帐户时设置什么 这导致 在付款页面上 要求我输入
  • 有没有办法找出 NSManagedObjectContext 所在的线程?

    我对线程的理解NSManagedObjectContext是它只能在创建它的线程上执行核心数据获取请求 删除等 有什么方法可以检查哪些线程NSManagedObjectContext创建于 或者如果在特定的执行点当前线程是特定的线程NSMa
  • Response.Write Base64 字符串

    我收到一个 Base64 字符串 它实际上是 PDF 文件的字符串表示形式 我想用 Response Write 写入此字符串 但不将其转换回其二进制表示形式 我试过这个 var base64string Response Write ba
  • 在 Flex 中实现定时器循环是一个坏主意吗?

    在我们的游戏项目中 我们确实将计时器循环设置为每秒触发约 20 次 与应用程序帧速率相同 我们用它来移动一些精灵 我想知道这是否会导致问题 我们应该使用 EnterFrame 事件处理程序进行更新 我的印象是 定时器循环运行得比应用程序帧速
  • Eclipse:将静态方法调用转换为静态导入

    有没有办法自动转换这个静态方法调用 Arrays asList import java util Arrays import java util List public class StaticImport public static vo
  • 如何在 iPhone 中绘制饼图

    我想在我的应用程序中绘制一个饼图 有谁知道任何代码或教程来帮助我 我在下面的链接中找到了一些http rajeev name blog 2009 01 18 drawing pie charts using iphone sdk http
  • 如何为不同数据库中的登录名授予访问 SQL Server 数据库邮件程序的权限?

    我想知道如何在 SQL Server 中设置权限 以允许我的应用程序登录 角色能够使用发送电子邮件msdb dbo sp send dbmail 我有一个数据库MyDb 一个用户MyUser谁是角色的成员AppRole 我有一个存储过程my
  • 如何将套接字重置回阻塞模式(在将其设置为非阻塞模式之后)?

    我已经阅读了有关将套接字设置为非阻塞模式的内容 http www gnu org software libc manual html mono libc html File Status Flags http www gnu org sof