问题标签 [nanomsg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4006 浏览

c# - 如何正确处理“断言失败”消息

我正在使用nanomsg在多个组件之间发送/接收数据。有时当我将一些数据发布到另一个组件时,我会收到错误消息:

“断言失败:...”。

我对 Assertion 不太熟悉(这是我第一次遇到它们)。

如何正确处理断言?

这发生在开发期间和已发布的调试版本上。使用 Debug 构建,可执行文件崩溃。

反正有没有干净地处理这个?

发布版本会发生这种情况吗?

这种情况很少发生 - 我已经看到它在每 70 次发布尝试中发生一次,因此重新创建和测试不太容易。

0 投票
1 回答
1698 浏览

python - 如何在 C 和 Python 端之间的 nanomsg 中设置 Pub/Sub?

我正在尝试学习库。

我正在使用 C 和 Python 版本的代码示例。我正在尝试使用 Python 脚本订阅 C 服务,但没有任何反应。

这是我的两个代码:

Python 订阅者

C代码:

我通过做来运行C代码

./pubsub_demo tcp://127.0.0.1:5555 -s

谢谢你的帮助

0 投票
1 回答
85 浏览

python - 从函数内访问全局套接字时遇到问题

我无法调用.send()在全局级别声明的套接字函数。

在上面的例子中,发送的数据myfunc()永远不会到达接收套接字。我知道接收套接字有效,因为接收.send()到全局级别的。

-- 附录 --

只是想补充一点,我的实际应用程序是用于自定义 Alexa 技能的烧瓶询问 Web 服务,并且我已经验证myfunc()通过激活相应的 Alexa 自定义技能意图来调用它。

0 投票
2 回答
4406 浏览

tensorflow - 在 Bazel 项目中构建 CMake 库

我在使用nanomsg的 TensorFlow 的私有分支之上编写了一个模块。

对于我的本地开发服务器,我曾经cmake install安装 nanomsg (to /usr/local) 并从其安装位置访问头文件。该项目在本地运行良好。

但是,我现在需要在我的 TensorFlow 工作区中打包 nanomsg。我尝试了以下两种方法,但都没有令人满意:

  1. 与 OpenCV 的这个答案类似,我将 nanomsg 预编译到一个私有存储库中,tensorflow/workspace.bzl使用http_archive 指令将其加载到我的工作区(within)中,然后在相关构建脚本中包含头文件和库。这运行良好,但不是便携式解决方案。

  2. 一个更便携的解决方案,我创建了一个genrule运行特定的cmake命令序列,可用于构建 nanomsg。这种方法更整洁,但genrule不能重用于cmake其他项目。(我提到了这个讨论)。

显然cmake,在 Bazel 构建中不支持作为一等公民。是否有人在您自己的项目中遇到过这个问题,创建了一种通用的、可移植的方式来将库包含在使用构建的 Bazel 项目中cmake?如果是这样,你是如何处理它的?

0 投票
0 回答
303 浏览

rust - 解决 Rust 32 位交叉编译中的依赖关系

我正在开发一个使用nanomsg板条箱的项目。crate 依赖于 nanomsg 库本身,它是一个本地库。到目前为止,一切都很好。

当我使用以下命令交叉编译项目以定位树莓派时,问题就来了:

尝试使用以下错误链接 nanomsg 库时构建失败:

我已经预先为我的机器配置了这样的交叉编译,并确认它可以与一个简单的 hello world 项目一起使用。

一些搜索错误消息指向库的 64 位与 32 位问题。我安装的 nanomsg 库是 64 位的,是从源代码构建的。

有没有办法告诉 cargo 静态链接该库并在运行时解析它?如果我在我的机器上安装一个 32 位版本的库,cargo 会简单地“捡起来”并且交叉编译会成功吗?

0 投票
1 回答
10099 浏览

cmake - CMake 错误:在 Windows 上执行 make 失败

尝试在 Windows 7中构建nanomsg 项目时出现错误:

我使用gcc编译器和make工具链Mingw,我可以在一个简单的例子中成功运行。gcc.exemingw32-make.exe

在文件CMakeCache.txt中缓存变量设置如下:

我认为问题来自CMAKE_MAKE_PROGRAM它应该采用的变量C:/Program Files (x86)/CodeBlocks/MinGW/bin/mingw32-make.exe,但是我不明白它从哪里获得价值nmake

即使我手动更换它,我也会遇到同样的问题。

我的问题:

  • CMake 如何填充缓存变量?
  • 为什么要CMAKE_MAKE_PROGRAM取值nmake
  • 为什么手动更改此变量没有解决问题?
0 投票
0 回答
186 浏览

python - 试图通过指针将结构从 Python 传递给 C 库

无法弄清楚如何通过指向 Python 中的 C 函数的指针传递结构。这是我所拥有的(这是为nanomsg-python项目实施nn_recvmsg的更大努力的一部分):

这给了我:

从输出中,我看到参数类型与函数期望的相同。但是,它仍然失败。

下面是我正在实现的函数的结构定义和完整代码:

0 投票
1 回答
404 浏览

c - 通信节点之间的 Nanomsg 消息加密

我是消息传递世界的新手,并开始在我的应用程序中使用Nanomsg库。我想知道消息是否在服务器和客户端之间由Nanomsg库默认加密。如果没有,我如何添加加密来保护通信节点之间的消息?

0 投票
1 回答
520 浏览

linux - Nanomsg 多播带宽问题

我可以在 nanomsg 的 pub/sub 协议中进行纯多播吗?由于可以有 N 个订阅者对单个发布者的特定数据感兴趣,相同的订阅数据在 N 个不同的流中流动。如果我的单个流的带宽是 10MB,那么 N 个流所需的总带宽是 10*N,因此带宽增加了。我们可以像在多播中那样减少这个带宽吗?有人可以帮我解决这个问题吗?

0 投票
1 回答
210 浏览

linux - 在 nanomsg 中是否可以进行 IP 多播?

如何在 nanomsg 中实现 IP 多播?

我知道在 ZeroMQ 消息传递中,IP 多播是通过实用通用多播 (PGM) 协议实现的。

在 nanomsg 中是否有任何方法也可以实现 IP 多播?