更好的 boost asio Deadline_timer 示例

2024-04-24

我正在寻找一个更好的例子boost::asio::deadline_timer

给出的例子总是会超时并调用close方法。我尝试打电话cancel()在计时器上但这会导致函数传递到async_wait立即被呼叫。

在异步 tcp 客户端中使用计时器的正确方法是什么?


您提到在计时器上调用 cancel() 会导致立即调用传递给 async_wait 的函数。这是预期的行为,但请记住,您可以检查传递给计时器处理程序的错误以确定计时器是否被取消。如果计时器被取消,则传递 operation_aborted。例如:

void handleTimer(const boost::system::error_code& error) {
    if (error == boost::asio::error::operation_aborted) {
        std::cout << "Timer was canceled" << std::endl;
    }
    else if (error) {
        std::cout << "Timer error: " << error.message() << std::endl;
    }
}

希望这有帮助。如果没有,您正在寻找的具体示例是什么?

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

更好的 boost asio Deadline_timer 示例 的相关文章

随机推荐

  • 使用 AppCompatDelegate 更改深色主题后无法检测深色主题是否处于活动状态

    我正在尝试实现一个选项 让用户指定是否希望应用程序根据系统设置 深色或浅色 即设备是否设置为使用深色模式 加载主题 但我也提供覆盖系统设置的可能性 第一次启动应用程序时 我可以使用类似此中指定的内容轻松找出此设置thread https s
  • 敏捷术语中的用户故事和功能有什么区别? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我猜想一个功能可能是 信用卡授权 之类的东西 而用户故事可能是 为贝宝授权信用卡 那么 用户故事是功能的子集吗 是的 类似子集的东西 这篇文章值得一读
  • 如何替换所有带有“.”的哈希键?

    我正在使用 Ruby on Rails 4 我想替换所有哈希键 以便将哈希值从 h before aaa bbb gt 1 c gt 2 to h after bbb gt 1 c gt 2 也就是说 我想以某种方式 解调 所有具有 我怎样
  • 如何使用 PhoneGap 开发者应用程序调试 Phonegap

    Phonegap 刚刚推出了一种方法 可以通过使用以下命令在本地服务器上立即查看对 Phonegap 应用程序的更改 phonegap serve 然后下载 PhoneGap 开发者应用程序 说明在这里 http app phonegap
  • Docker 卷和主机权限

    当我运行 docker 镜像时 例如 docker run v home n1 workspace root workspace it rust latest bash 我在容器中创建一个目录 例如 mkdir root workspace
  • Servlet 过滤器在 AWS 上返回“代理错误”

    我已经设置了一个Filter为我的 GWT Web 应用程序添加爬网程序支持 这个想法是捕获所有包含 escaped fragment 并为爬虫提供快照 我已经设置了Filter使用 Guice 如下 filter through Craw
  • 如何将文件上传到 SharePoint 文件夹

    我一直在尝试将文件上传到我的 SharePoint 2013 服务器 我正在使用 REST API 从 Android 应用程序执行此操作 我只能上传文本文件 即 txt rtf 我就是这样做的 我点击的网址 https mysite co
  • 如何从 Android 手机获取 GPS 数据?

    有没有办法将 Android 手机的 GPS 数据连接 USB 有线 到 PC 我目前正在使用基于 gpsd 项目的 GPSTether 应用程序 我正在寻找比该应用程序提供更多控制且错误更少的替代方案 另外 是否有另一种方法可以在不使用任
  • 如何将 xsl 变量值传递给 javascript 函数

    我正在尝试将 xsl 变量值传递给 javascript 函数 我的 xsl 变量
  • 如何使用 python 在 mongoengine 中对 dict 中包含的嵌套字典或数组执行此类过滤查询?

    假设我有以下 dict 对象 a value of a somedict someinfo name Jordan food fries coke drink 如果我想使用 mongoengine 在 python 中应用查询过滤器 我该怎
  • 为 pandas 创建自定义插值函数

    我目前正在尝试使用 pandas 清理和填充一些缺失的时间序列数据 插值函数工作得很好 但是它没有我的数据集所需的一些 不太广泛使用的 插值函数 几个例子是一个简单的 最后 有效数据点 它会创建类似于阶跃函数的东西 或者类似对数或几何插值的
  • 为什么没有用户代理为视频元素实现 CSS 光标样式

    我想知道是否可以更改 CSS 属性cursor在默认 HTML5 上video元素 到目前为止 我的测试已经得出结论 没有用户代理 浏览器 实现cursor pointer默认情况下 所以你只剩下正常的操作系统箭头 控制指示器 当您尝试设置
  • “未捕获的引用错误:窗口未定义”p5.js Web Worker

    我有一个 javascript 代码 我将网络工作者与 p5 js 库一起使用 它不允许我使用 p5 的任何功能 所以我必须使用importScripts p5 js 在使用 p5 的任何函数之前导入 p5 js 库的函数 onmessag
  • Swift 泛型类作为委托

    我在 swift 中使用泛型类作为委托时遇到了问题 例如我尝试使用通用 NSFetchedResultsDelegate 定义为 class FetchedTableController
  • 使用 React 和 webpack 4 拆分项目; html 标签是意外的标记

    背景 我正在使用 React babel webpack4 和 es6 或者可能是 es7 我有一些模块被多个反应项目重用 因此 我创建了一个包含这些模块的 标准 文件夹 以便它们与任何特定项目分开 Problem 在我的 React 项目
  • 为 WinSocks 和 *nix 制作非阻塞套接字

    在 C C 中 如何将 WinSocks 和 nix 中的阻塞套接字转换为非阻塞套接字 这样 select 就能正常工作 您可以将预处理器用于特定于平台的代码 在Linux上 fcntl fd F SETFL O NONBLOCK Wind
  • Java 中的合成字段是什么? [复制]

    这个问题在这里已经有答案了 有人可以用一种易于理解的方式解释 Java 中合成字段的重要性吗 我记得在非静态内部类的上下文中阅读它 其中每个此类内部类实例都维护对封闭类的引用 为什么这样的引用 字段被称为合成字段 合成字段是编译器创建的字段
  • Xcode 永远快速索引

    我目前正在使用 swift 和 Xcode 6 Beta 3 开发一个 iOS 应用程序 到目前为止一切都很顺利 但现在随着我的项目的增长 Xcode 突然开始索引 并且一次又一次地这样做 使得 Xcode 几乎无法使用 我在网上搜索了类似
  • aws CLI 比使用 boto3 更快吗?

    我有存储在 s3 存储桶中的包 我需要读取每个包的元数据文件并将元数据传递给程序 我用了boto3 resource s3 在 python 中读取这些文件 该代码需要几分钟才能运行 如果我使用 aws clisync 它下载这些图元文件的
  • 更好的 boost asio Deadline_timer 示例

    我正在寻找一个更好的例子boost asio deadline timer 给出的例子总是会超时并调用close方法 我尝试打电话cancel 在计时器上但这会导致函数传递到async wait立即被呼叫 在异步 tcp 客户端中使用计时器