问题标签 [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.
python-2.7 - 在 nanomsg python 中设置套接字超时
我无法在 PUSH/PULL 模式中的 nanomsg python 上正确设置超时。我使用 set socket 选项函数并传入一个 ctype 对象。两个 set_sock_options 都返回成功。我错过了什么吗?
套接字用于接收和发送,但有无限超时。当我使用 get_sock_option 它返回我刚刚设置的值,所以我的输入似乎有某种效果。
zeromq - ZeroMQ/NanoMsg pub/sub vs multicast
I want to implement data distribution application using zeromq or nanomsg or aeron.net or OpenDDS or OpenMAMA, I am little confused , which one is suitable as my requirement is to support 500 to 1000 users and each user can subscribe for atleast 100 topics
this can be handled by using pub/sub pattern or I have to use UDP multicast ?
Also I need to deploy this application on Amazon EC2
c++ - NanoMsg (NNG) 和 FlatBuffers 是否适合这个项目?
大声喊出我们应该考虑的更好的东西:
我正在寻找一种非常快速和简单的方法来获取多个程序(例如 5 个) - 每个程序都在私有 OpenStack 云上的不同节点上运行以相互交谈。
- 数据包将是简短的 C++ 结构(小于 100 字节)
- 流量会很轻(可能低于 100/秒)
- 延迟真的不是问题。(朋友之间的几毫秒是多少?) - 我们有很多周期和记忆
- 消息应该作为发布/订阅客户端/服务器范式完成
- 库应该是 C++ 友好的。但在 Windows 和 Linux 上都可以工作
- 稍后我们可能需要额外的语言绑定
- 我们不希望丢失消息
这是我的第一个想法。但如果你有其他东西可以提供。喊出来。
UDP套接字层的友好包装器:
- NanoMSG(NNG,因为它是 nanoMsg 的活跃项目)https://github.com/nanomsg/nng
C++ 结构数据的编码器/解码器:
nanomsg - 如何在 nanomsg 中为“多播”tcp 指定 tcp 协议
我已阅读:Nanomsg 多播带宽问题
但我不需要真正的多播 IP(例如 239.0.0.0:3000) 我的负载也很轻。所以我并不担心背压。
是的,我可以使用总线范式。但是假设我想先用 pubsub 进行测试。
发送者将什么用作发送到 tcp 的发送到 url 以发送到多个客户端?
(我实际上正在使用下一代 nanomsg):
https://nanomsg.github.io/nng/man/v1.0.0/nng_tcp.7.html
我可以发送到 tcp://*:3000
我可以将订阅者绑定到该地址吗?
visual-studio - NanoMsg 与 VS2017 的链接错误
我正在尝试在 Windows 盒子上构建一个 nanomsg 下一代( https://github.com/nanomsg/nng )。我正在使用 VS2017。CMAKE 就像一个魅力。
我收到链接错误。我已验证 nng.lib 文件位于:
D:\Source\LinkWareMessageBus\nng\lib
Dumbin.exe 说符号都到位(并且没有编译或链接错误)
链接器/常规/附加库目录为:D:\Source\LinkWareMessageBus\nng\lib
.h 文件读得很好。但我收到以下链接错误:
这些是我的 VS2017 设置(x64 .lib 和 x64 项目)。
我还在 nng.lib 文件中附加了符号的转储文件。
我怀疑的是 VS2017 没有正确配置以找到 .lib (除了添加链接器/附加库的路径)我该怎么办?
更新
我不再说这很简单。但我确实走得更远,也许你可以帮助越过终点线。即使我告诉 VS2017 在哪里可以找到 nng.lib(路径和名称)。我也尝试将它与 kernel32.lib user32.lib 和其他强制性库一起放入。
好的。我现在不再收到有关 nng_xxxx 符号的错误。相反,它现在抱怨的是 nng.lib 正在寻找的符号。
见下文:
这是来自 VS2017 的链接的详细日志的链接: 详细链接日志
```
```
nanomsg - nanomsg (nng) 中的多个发布者和订阅者
如何使用 TCP 传输设置多个发布者和订阅者。我怀疑您没有自动创建网格/总线。所以每个发布者都需要一个唯一的 IP 绑定点,对吗?他们只是让订阅者在单个套接字上连接到每个发布者。
(这在:https ://www.freelists.org/post/nanomsg/does-nanomsg-support-multi-producer-in-pubsub-mode,10 中讨论过)
这基本正确吗?
我倾向于使用 pub/sub 而不是总线/网格方法的原因是因为(我承认我很可能弄错了)-
- 我不需要完全连接的网格
- 我认为您在每个节点上的基数树过滤比我想出的要好
- 我喜欢 pub/sub 的“自动发现”方面,而不是为总线传输手动连接网格
- (即自动“进入和退出网格”)
基本上我有 2 个生产者(主要做发布,但偶尔会收到将附加信息放在正在发布的流上的请求,所以他们确实需要收听)然后大约五个消费者主要从发布者,但确实需要偶尔向生产者发送请求。
是的,我希望 pub 以及订阅的 recv() 是异步的(在我使用它的上下文中不允许阻塞)。
所以这是一个双向发布/订阅架构。我正在寻找实现这一点的最简单方法。(交通很轻)。
当然,UDP 传输对此会很好,但我不会屏住呼吸。
linux - 如何设计对 nanomsg 套接字和 tty 或 Netlink 的异步处理?
如何编写一个主循环(在 C for Linux 系统中)在等待来自多个源的消息时阻塞,例如
a)一个 nanomsg 套接字和串行端口,或
b)一个 nanomsg 套接字和 Netlink 套接字?
从哪儿开始?
我想我可以轮询 nanomsg 套接字,然后轮询串行端口,然后休眠例如 0.1 秒,但如果可能的话,这是我想避免的模式。
nanomsg - Nnanomsg 总线路由支持?
我一直在使用 NNG (C++) - 现在我需要编写一个 C# 插件来读取 NNG NanoMSG 消息。但我正在从 pub/sub 转向总线/网格协议。例如
https://nanomsg.org/gettingstarted/bus.html
- nnanomsg 支持吗?
- 插座上的什么开关(我需要的选项)例如NN_BUS?NN_SOL_SOCKET?
c++ - QSocketNotifier 与 nanomsg
如果收到任何数据,是否可以将 QSocketNotifier 用于 nanomsg 套接字以执行某些操作?我尝试使用此代码,但运行时没有任何反应nanocat --req --connect ipc:///tmp/node0.ipc --data pong --format ascii
。我什至不知道如何检查问题发生在哪一步,因为没有错误。
javascript - node-nanomsg - 订阅者不接收消息
我有两个.js
文件 -pub.js
用于发布和sub.js
订阅。这些文件实际上是node-nanomsg GitHub 站点上显示的示例的“拆分”版本。pub.js
写入和tcp://127.0.0.1:7789
读取sub.js
相同。我sub.js
先开始,然后pub.js
。虽然pub.js
很快完成,但sub.js
从未收到消息。
pub.js
sub.js
更新
如果pub.js
写如下并sub.js
首先启动,则通信通过。
但是,发布-订阅范式不需要发布者和订阅者相互了解。如何启用 pub-sub 系统nanomsg
?