问题标签 [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.
c - 无法在 Windows MinGW 的 libnanomsg 中链接,使用 MXE 进行交叉编译
我正在尝试在 mingw 上构建 nanomsg,使用 mxe 从 ubuntu 交叉编译。目标主机是 x86_64。我构建它很好,但它不会链接。我遇到了类似的问题
我认为这是一个静态库问题。我再次使用
同样的问题。在我链接 libnanomsg.a 后,我需要在 gcc 构建行中添加任何链接器标志吗?
multithreading - GTK 和 nanomsg 的线程友好主循环
如何编写一个在等待来自多个来源的消息时阻塞的主循环?据我了解,编写事件处理循环的首选方法是在等待事件时让它阻塞。
但是,当消息可能来自多个来源时,如何正确处理阻塞?
我想编写一个 GTK GUI,它既响应用户输入事件又响应通过 nanomsg 发送的消息。
GTK 允许通过调用gtk_main()
或以非阻塞方式使用gtk_main_iteration_do (FALSE)
.
Nanomsg 可以在阻塞或非阻塞模式下接收消息,也可以轮询消息。
是否有可能以某种方式阻止,直到任何一个源首先输入可用的“解除阻止”?即有没有替代使用sleep
which 仍然响应所有事件?
nanomsg - nanomsg 测量器插座的可读状态不佳
我在 Python 中使用带有 nanomsg 的 SURVEY 可扩展性协议。
我有一堆受访者插座,我将测量员连接到它们循环;然后,我等待surveyor.send_fd可读。我假设它至少连接到一位受访者,然后我发送调查。在受访者方面,我等待respondent.recv_fd可读,然后打电话respondent.recv()
了解调查情况,然后发送答案。回到surveyor,我等待surveyor.recv_fd可读,然后打电话询问 surveyor.recv()
受访者的答案。
有时我在尝试阅读受访者的答案时会出错:
我简化了代码以显示问题:
test_respondent.py
test_surveyor.py
测试.sh
在某些情况下,多次执行测试会导致上述异常。
知道我做错了什么吗?以及如何解决问题?
python - python中nanomsg中的测量员受访者模式
我正在尝试编写测量员受访者模式。但它会抛出错误:
nanomsg.NanoMsgAPIError:在此状态下无法执行操作
如何在 python 中实现这种模式?
c - nanomsg 或 ZeroMQ 是否适合扩展客户端连接数?
我需要建立一种即时通讯系统。根据我的简短探索,ZeroMQ 和 nanomsg 的目标是后端分布式系统中的服务器-服务器通信,而不是同时管理 +100K 的最终用户客户端连接。那准确吗?如果是这样,C 中是否有一个很好的消息传递库,可以很好地适应客户端数量?消息将是服务器->客户端推送和客户端->服务器请求/响应的混合。
c++ - nanomsg:使用 cmake 时出现分段错误
我正在使用 nanomsg 进行请求/接收,当我使用 Makefile 编译它时,我的代码工作得很好。但是,当我尝试使用 cmake 时,它编译得很好,但在尝试发送消息时会遇到分段错误。
有谁知道发生了什么?我也不确定问题出在我的 cmake 文件还是 .cc 文件中。
这是一个最小的工作示例。
request.cc(这里省略了它的 .h 文件)
request_test.cc
接收者.cc
有效的Makefile:
不起作用的 CMakeLists.txt:
node.js - ZeroMQ 和 IPC 的区别
Q1:与这里解释的默认进程间通信相比,使用向子进程发送消息到底有什么区别?ZeroMQ
Q2:对于孩子的直接沟通,哪个更合适?(更快)
Q3:文档说:Creates an IPC channel
,它使用什么样的IPC
?TCP
? 插座?
sockets - 对于将数据发送到可以连接/断开连接的客户端的服务器,什么是好的 ZeroMQ / nanomsg 架构?
我正在尝试创建一个具有单个服务器和多个客户端的网络架构。客户端可以随时连接和断开连接,因此他们需要向服务器宣布它们的存在或关闭。服务器必须能够向任何特定客户端发送数据。
为此使用的最佳可扩展性协议/架构是什么?
目前我使用一个REQ
/REP
以便客户端可以“登录”和“注销”,以及一个SURVEY
套接字以便服务器可以向所有客户端发送数据。发送的消息具有它想要处理消息的特定客户端的 ID。
这是好事,还是有更好的东西?
nanomsg - 是否可以在 nanomsg 中注册网络活动的侦听器?
我nanomsg
用来处理我的网络编码(顺便说一句,它非常好!),但我无法确定是否有办法在可以接收数据时获得通知。我能看到的唯一方法是使用nn_poll()
. 我讨厌在网络检查中使用 CPU 内核。
有没有办法在可以接收数据时调用回调,或者我是否必须在单独的线程上运行 while 循环来获取传入的网络数据?
rabbitmq - 哪些发布/订阅协议具有基于订阅者的数据传播?
我正在尝试评估不同的发布/订阅消息协议的水平扩展能力,而不会产生不必要的交叉对话。
我的架构将连接带有 Web 套接字客户端的 NodeJS 服务器。我计划使用一致的基于散列的路由器根据他们感兴趣的主题将客户端引导到服务器。这意味着对于给定的主题,只有一部分服务器会有订阅该主题的客户端。然后消息将发布到发布/订阅代理,该代理负责将数据散播到有订阅者的服务器。
我要避免的情况是每个代理都收到每个请求,并且网络变得饱和。这是扩展 Redis Pub/Sub 的一个明显问题。添加服务器不应产生 n 方问题。
pub/sub 协议上的客户端数量就是服务器的数量。理想情况下,每台服务器都可以有一个本地代理来有效地将数据扇出到多个 NodeJS 进程,以避免不必要的网络带宽。在大多数情况下,对于给定的主题,所有订阅者都在同一台服务器上。
哪些发布/订阅协议提供这种基于主题的数据传播?
我正在评估的协议是:MQTT、RabbitMQ、ZMQ、nanomsg。这不包括在内,并且 SAAS 选项是可以接受的。
质量保证约束很容易。最多一次,或至少一次都足够了。承认并不重要。事件顺序并不重要。我们正在寻找一劳永逸的方法,重点是水平可扩展性。