ZMQ套接字连接超时

2023-12-22

我正在使用 ZMQ (cppzmq) 的 C++ 绑定,并且尝试使用以下命令设置 TCP 套接字的连接超时.setsockopt()-这样的方法:

int connectTimeout = 1000;
socket.setsockopt(ZMQ_CONNECT_TIMEOUT, &connectTimeout, sizeof(connectTimeout));
socket.connect(clientConfiguration.uri);

但是,在代码达到实际值之前,我没有看到任何事情发生(抛出异常?).send()/.recv()在插座上。只是为了确保套接字有机会抛出,我在两者之间进行了睡眠.connect() and .send()方法。

根据文档.zmq_connect()只需输入一个READY- 未与端点建立实际连接的状态。那么问题是我应该何时以及如何经历连接超时?


所以问题是何时以及如何我应该经历连接超时吗?

When ?

实际上从不直接因为这只是 ZeroMQ 的 API 公开设置Context()-实例的内部Finite-State-M机器操作方式(这里是.setsockopt()设置选定的 API 幕后传输类 ISO-OSI-L3 详细信息)。

How( if at all ) ?

嗯,还有一些其他的.setsockopt()细节,(如果戴上)可能会间接感受到该设置的影响ZMQ_CONNECT_TIMEOUT连接超时。在这里,只是间接地,通过修改的 FSM 行为,即在某种程度上,如何.Context()-engine 实例将碰巧响应此类事件(所有这些都纯粹在内部,在 API 幕后 - 这就是为什么我们在方法上使用 API 方法来分离关注点,不是吗?)。

欲了解更多详情,请参考:

  • API 详细信息ZMQ_IMMEDIATE,
  • API 详细信息ZMQ_RECONNECT_IVL,
  • API details about ZMQ_RECONNECT_IVL_MAX.
    ( API versions evolve, be aware that not all distributed-system /questions/tagged/distributed-system agents share the same ZeroMQ API version. So best remember the Zen-of-Zero and feel free to re-use the anxient designers' directive #ASSUME NOTHING. )

预告片奖励:

如果不熟悉 ZeroMQ 工具,可能会发现用 5 秒的时间了解 [ZeroMQ 层次结构在不到五秒的时间内完成 https://stackoverflow.com/a/46620571] 部分,

( courtesy Martin Sústrik, co-father of both ZeroMQ + nanomsg. http://250bpm.com/blog:25 Respect! )

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

ZMQ套接字连接超时 的相关文章

  • 编译时运算符

    有人可以列出 C 中可用的所有编译时运算符吗 C 中有两个运算符 无论操作数如何 它们的结果始终可以在编译时确定 它们是sizeof 1 and 2 当然 其他运算符的许多特殊用途可以在编译时解决 例如标准中列出的那些整数常量表达式 1 与
  • EF Core Group By 翻译支持条件总和

    听说 EF Core 2 1 将支持翻译小组 我感到非常兴奋 我下载了预览版并开始测试它 但发现我在很多地方仍然没有得到翻译分组 在下面的代码片段中 对 TotalFlagCases 的查询将阻止翻译分组工作 无论如何 我可以重写这个以便我
  • 我如何才能等待多个事情

    我正在使用 C 11 和 stl 线程编写一个线程安全队列 WaitAndPop 方法当前如下所示 我希望能够将一些内容传递给 WaitAndPop 来指示调用线程是否已被要求停止 如果 WaitAndPop 等待并返回队列的元素 则应返回
  • 以文化中立的方式将字符串拆分为单词

    我提出了下面的方法 旨在将可变长度的文本拆分为单词数组 以进行进一步的全文索引处理 删除停止词 然后进行词干分析 结果似乎不错 但我想听听关于这种实现对于不同语言的文本的可靠性的意见 您会建议使用正则表达式来代替吗 请注意 我选择不使用 S
  • 为什么 C# Array.BinarySearch 这么快?

    我已经实施了一个很简单用于在整数数组中查找整数的 C 中的 binarySearch 实现 二分查找 static int binarySearch int arr int i int low 0 high arr Length 1 mid
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • 动态加载程序集的应用程序配置

    我正在尝试将模块动态加载到我的应用程序中 但我想为每个模块指定单独的 app config 文件 假设我的主应用程序有以下 app config 设置
  • 按成员序列化

    我已经实现了template
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • 关于 C++ 转换:参数 1 从“[some_class]”到“[some_class]&”没有已知的转换

    我正在研究 C 并且遇到了一个错误 我不知道确切的原因 我已经找到了解决方案 但仍然想知道原因 class Base public void something Base b int main Base b b something Base
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • Windows 窗体:如果文本太长,请添加新行到标签

    我正在使用 C 有时 从网络服务返回的文本 我在标签中显示 太长 并且会在表单边缘被截断 如果标签不适合表单 是否有一种简单的方法可以在标签中添加换行符 Thanks 如果您将标签设置为autosize 它会随着您输入的任何文本自动增长 为
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • 对现有视频添加水印

    我正在寻找一种用 C 在视频上加水印的方法 就像在上面写文字一样 图片或文字标签 我该怎么做 谢谢 您可以使用 Nreco 视频转换器 代码看起来像 NReco VideoConverter FFMpegConverter wrap new
  • 如何将带有 IP 地址的连接字符串放入 web.config 文件中?

    我们当前在 web config 文件中使用以下连接字符串 add name DBConnectionString connectionString Data Source ourServer Initial Catalog ourDB P
  • IEnumreable 动态和 lambda

    我想在 a 上使用 lambda 表达式IEnumerable
  • 哪种 C 数据类型可以表示 40 位二进制数?

    我需要表示一个40位的二进制数 应该使用哪种 C 数据类型来处理这个问题 如果您使用的是 C99 或 C11 兼容编译器 则使用int least64 t以获得最大的兼容性 或者 如果您想要无符号类型 uint least64 t 这些都定
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co
  • 如何防止用户控件表单在 C# 中处理键盘输入(箭头键)

    我的用户控件包含其他可以选择的控件 我想实现使用箭头键导航子控件的方法 问题是家长控制拦截箭头键并使用它来滚动其视图什么是我想避免的事情 我想自己解决控制内容的导航问题 我如何控制由箭头键引起的标准行为 提前致谢 MTH 这通常是通过重写

随机推荐

  • 使用 iframe 嵌入视频 url 时出现 Chrome 错误 [重复]

    这个问题在这里已经有答案了 当我使用 iframe 将一些 url 嵌入到页面中时 我在 chrome 控制台中收到以下错误 为什么会发生这种情况 GET chrome extension boadgeojelhgndaghljhdicfk
  • 没有参数传递给自定义 DataTemplateSelector 的 SelectTemplate()。为什么?

    我正在使用一个CellTemplateSelector有条件地在 DataGrid 列中显示复选标记 方法SelectTemplate object item DependencyObject container of my DataTem
  • PHP:iCal 创建,如何在描述中换行

    我正在使用以下内容为 PHP 脚本创建 Outlook 日历邀请 然而 n 并没有在 Outlook 中给我一个新行 有没有办法做到这一点 如果你不能的话 那就显得很愚蠢了 function addToCalendar calEmail c
  • 选择影子根中的元素

    我想更改隐藏在影子根中的元素的属性 由于项目的性质 我无法直接引用 JS 中的文档 我只能使用自定义类 不适用于影子根 或 jQuery 但我不知道如何编写指向该文件的路径元素 该元素没有 部分 因此我无法在选择器中使用它 我已经尝试过的
  • PHP:回调函数

    PHP 中的某些函数需要回调函数 我如何自己在函数中执行此操作 首先 如何定义需要回调函数的函数 其次 如何提供自定义函数作为回调函数 如何提供常规函数 实例函数和静态函数 使用内置的call user func http php net
  • 使用Python从设备获取MAC地址

    我正在寻找一种方法 使用python 来获取layer II来自我本地网络上的设备的地址 Layer III地址是已知的 目标是构建一个脚本 定期轮询 IP 地址数据库 确保 MAC 地址没有更改 如果更改 则通过电子邮件向我发出警报 使用
  • 嵌入带有参数的 svg 对象

    谁有想法或提示 我想在 die svg 标签中嵌入一个 svg 对象并更改此参数 HTML SVG 未进行
  • 如何使用 Javascript 截断/切片/修剪字符串中的最后一个字符?

    我有一根绳子 12345 00 我希望它返回12345 0 我看过trim 但看起来它只是修剪空白并且slice我不明白这是如何运作的 有什么建议么 您可以使用子串 https developer mozilla org en US doc
  • 在 SQL Server 2008 R2 脚本向导中缺少脚本数据

    在我的 SQL Server 2008 R2 中 脚本向导的脚本选项屏幕在 表 视图选项 部分下查找我找到 脚本数据 行并希望将该选项设置为 True 但失败了 我没有找到任何脚本数据选项 为什么我的 SQL Server 2008 R2
  • PHP检查文件是否为音频文件

    我正在编写代码来上传音频文件 可以是任何格式 mp3 mp4 wav 等等 我不想编写所有 mime 类型的所有条件 然后检查上传的文件以验证 mime 类型 因为 我想接受所有音频文件 不仅仅是一两种格式 那么 有没有什么简单的方法来检查
  • Ionic 2 存储在卸载时不会清理 - 仅适用于已签名的 APK

    我正在使用 Ionic 2 存储来存储用户凭据 卸载应用程序时 存储不会清除 因此重新安装后 应用程序将获取先前用户的用户凭据 此问题仅发生在签名的 APK 中 在 Samsung on7 和 lenovo vivi 型号上进行了测试 卸载
  • iOS如何根据其中的UILabel制作UIView的动态宽度/自动布局

    我可能正在努力解决一些菜鸟问题 我有一个UIView其中我显示一些价格 我想要UIView根据价格具有动态宽度 如果是 1 欧元 那么它将是例如20pt 如果是 2300 欧元 那么就会像50pt宽度 我试图利用故事板的限制 但没有成功 是
  • Spring 和 /* url 模式

    我们有一个 的 url 模式并且请求到达我们的控制器 但我们总是得到 404 这是我们的 web xml
  • 谷歌面积图线下可变不透明度?

    我正在使用谷歌图表中的面积图 我想知道是否有办法设置每条线的不透明度 看这个例子 https developers google com chart interactive docs gallery areachart hl nl Simp
  • 如果参数为 NULL,如何从 WHERE 子句中删除条件

    我将 2 个参数传递给 PL pgSQL 函数 这是查询 SELECT FROM table WHERE col1 param1 AND col2 param2 两个参数都可以为 NULL 在这种情况下 应从WHERE clause 我怎样
  • 带 2 个按钮的警报

    我将在我的应用程序中添加一个指向网站的链接 用户将单击一个显示 网站 的按钮 然后将出现一个带有 2 个按钮的警报 其中一个按钮只是取消按钮 另一个按钮将打开网站 你能帮我解决这个问题吗 Thanks 将其放入您的头文件中 interfac
  • 使用互斥锁时尝试引用已删除的函数

    我在处理项目时遇到奇怪的错误 我创建了一个超级简单的示例来重现错误 我创建了一个类 我想在这个类中做的是为我的类提供一种 getter 函数来填充 a 的值struct 在主应用程序中 用户将实例化这个struct 将其传递给成员函数 并能
  • Z3 Solver Java API:意外行为

    通过向求解器添加条件 我想使用 solver check 检查是否存在解 因此 我创建了一个简单的示例来寻找 t1 的解决方案 我知道 t1 有一个解 即 t1 0 然而 求解器的状态不是 SATISFIABLE public static
  • 将 base64 字符串转换为与 OpenCV 兼容的图像

    我正在尝试将 JPEG 的 Base64 表示形式转换为可与 OpenCV 一起使用的图像 问题是我希望能够做到这一点而不必物理保存照片 我希望它保留在内存中 有更新的方法来实现这一点吗 我正在使用 python 3 6 2 和 OpenC
  • ZMQ套接字连接超时

    我正在使用 ZMQ cppzmq 的 C 绑定 并且尝试使用以下命令设置 TCP 套接字的连接超时 setsockopt 这样的方法 int connectTimeout 1000 socket setsockopt ZMQ CONNECT