问题标签 [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 投票
2 回答
6274 浏览

c - libc.h:编译 nanomsg 管道示例时没有这样的文件或目录

尝试运行一个简单的 nanomsg 文件,从这里的第一个文件开始:https ://github.com/dysinger/nanomsg-examples

将 nanomsg 安装到/usr/local/lib/nanomsg-0.2-alpha. 然sudo ./configure,,,如指示所说sudo make check_ 所有测试通过。sudo make installsudo ldconfig

当我运行它说 libc.h 没有找到:

什么是 libc.h?自大学以来,我没有做过任何 C 编程。它是 nanomsg 还是 C 库的一部分?

0 投票
1 回答
7601 浏览

gcc - 在 Windows 7 下使用 mingw-w64-x86_64 gcc 工具链出现 cmake 错误:“这个程序是在没有插件支持的情况下构建的”

我有 Windows 7、MSYS2Mingw-w64-x86_64 gcc 工具链CMake的设置,并且我正在尝试构建nanomsg 库

这是我得到的:

$ cmake --debug-trycompile -DCMAKE_TOOLCHAIN_FILE=../toolchain_i686-pc-mingw32.cmake -DCMAKE_INSTALL_PREFIX=/usr/x86_64-w64-mingw32 -G "MinGW Makefiles" ../nanomsg

-- C 编译器标识为 GNU 4.8.2 -- 检查工作 C 编译器:C:/mingw64/bin/x86_64-w64-mingw32-gcc.exe -- 检查工作 C 编译器:C:/mingw64/bin/ x86_64-w64-mingw32-gcc.exe -- C:/cmake-win32-x86/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:61 (message): The C compiler "C:/mingw64/ bin/x86_64-w64-mingw32-gcc.exe" 无法编译简单的测试程序。

它失败并显示以下输出:

更改目录:C:/msys64/home/Laurent/Dev/nanomsg-build/CMakeFiles/CMakeTmp

运行构建命令:C:/mingw64/bin/mingw32-make.exe
"cmTryCompileExec910276652/fast"

C:/mingw64/bin/mingw32-make.exe -f
CMakeFiles\cmTryCompileExec910276652.dir\build.make
CMakeFiles/cmTryCompileExec910276652.dir/build

mingw32-make.exe 1 : 进入目录
'C:/msys64/home/Laurent/Dev/nanomsg-build/CMakeFiles/CMakeTmp'

C:\cmake-win32-x86\bin\cmake.exe -E cmake_progress_report
C:\msys64\home\Laurent\Dev\nanomsg-build\CMakeFiles\CMakeTmp\CMakeFiles 1

构建 C 对象
CMakeFiles/cmTryCompileExec910276652.dir/testCCompiler.c.obj

C:\mingw64\bin\x86_64-w64-mingw32-gcc.exe -o
CMakeFiles\cmTryCompileExec910276652.dir\testCCompiler.c.obj -c
C:\msys64\home\Laurent\Dev\nanomsg-build\CMakeFiles\CMakeTmp\ testCCompiler.c

链接 C 可执行文件 cmTryCompileExec910276652.exe

C:\cmake-win32-x86\bin\cmake.exe -E cmake_link_script
CMakeFiles\cmTryCompileExec910276652.dir\link.txt --verbose=1

C:\cmake-win32-x86\bin\cmake.exe -E 删除 -f
CMakeFiles\cmTryCompileExec910276652.dir/objects.a

x86_64-w64-mingw32-gcc-ar cr
CMakeFiles\cmTryCompileExec910276652.dir/objects.a
@CMakeFiles\cmTryCompileExec910276652.dir\objects1.rsp

抱歉 - 这个程序是在没有插件支持的情况下构建的

CMakeFiles\cmTryCompileExec910276652.dir\build.make:91:目标“cmTryCompileExec910276652.exe”的配方失败

mingw32-make.exe 1* [cmTryCompileExec910276652.exe] 错误 1

mingw32-make.exe 1:离开目录
'C:/msys64/home/Laurent/Dev/nanomsg-build/CMakeFiles/CMakeTmp'

Makefile:116:目标“cmTryCompileExec910276652/fast”的配方失败

mingw32-make.exe: * [cmTryCompileExec910276652/fast] 错误 2

CMake 将无法正确生成此项目。调用堆栈(最近调用优先):CMakeLists.txt:29(项目)

这是我的工具链文件:

看起来它无法建立在自动测试上,因为工具链缺少插件支持

这是我的 gcc 版本和选项:

  1. 它与“--enable-plugin”选项(我的 gcc 中缺少)有关吗?
  2. 此选项集是否有可用的工具链构建?我在 MSYS2、Mingw-w64、rubenvb 存储库中寻找它,但它不存在。还是我自己建造?
  3. 可能 nanomsg 不需要它?自动测试是否需要它,因为 nanomsg 需要它?或者我可以阻止这个自动测试运行吗?或者我可以设置一些东西来避免“--enable-plugins”选项的需要吗?
0 投票
2 回答
2184 浏览

zeromq - ZeroMQ / 0mq 或 nanomsg 绑定到 Kafka?

Fred Georges 谈论微服务架构时,他提到使用Kafka作为高速总线(他称之为激流)并将多个0mq实例(称为河流)连接到它。可以在这里看到一张幻灯片。

谁能分享如何最好地实现此绑定?

也很想听听如何使用nanomsg而不是0mq来实现。

0 投票
1 回答
1102 浏览

go - 基于 nanomsg 的内部服务器

这些天我正在使用 Golang 绑定学习 nanomsg 和 zeromq。我已经使用可以工作的 Req-Rep 进行了测试,但是使用这种机制来构建可靠的内部服务器以在高并发请求(但来自有限的客户端源 < 30)下提供数据服务是一个正确的想法吗?

一些伪代码可能看起来像,

如何在 nanomsg 中实现类似的通信模式?有没有可用的示例(C 可以)?

====更新====

抱歉,这个问题看起来太宽泛了。对我来说最重要的问题是,“是否有任何可行的 Req/Rep 示例(C 可以)?”

0 投票
0 回答
341 浏览

kernel - 在内核空间中使用 nanomsg

我正在研究nanomsg在内核空间中使用的可行性。这个想法是让内核进程/线程通过nanomsg套接字向本地(用户空间)和/或远程nanomsg套接字发送和接收消息。

我想这不会“开箱即用”并且正在寻找提示/提示。

这甚至可能吗?例如,是否有人尝试过构建 .kolibnanomsg以在 FreeBSD 中使用?

0 投票
1 回答
1202 浏览

linux - 如何区分 nanomsg 套接字库中的每个客户端连接

我正在使用 nanomsg 库

int sock = nn_socket (AF_SP, NN_PAIR);

断言 (nn_bind (sock, url) >= 0);

现在我想知道如果客户端连接,如何区分服务器中的每个连接。

在常规 Linux TCP 套接字中,我们将在每个连接接受时获得新的套接字 fd,我期待在 nanomsg 中有类似的东西。

在下面的链接中,我尝试使用 - 对(双向无线电)

http://tim.dysinger.net/posts/2013-09-16-getting-started-with-nanomsg.html

0 投票
1 回答
1782 浏览

c# - Is it possible to connect to a nanomsg socket from a C# client?

I am experimenting with nanomsg.

Is it possible to connect to a nanomsg socket from a client using .NET's Socket class or for that matter, any other socket library other than another nanomsg client?

Are there any online tutorials and/or examples about doing this?

For example, using nanocat, bind a socket to a port. Then from C# .NET attempt to connect to the socket:

0 投票
1 回答
1789 浏览

c# - 如何让 nanomsg 可靠地自动重新连接?

当服务器短暂脱机或完全脱机然后重新启动时,我在处理重新连接时遇到问题。我无法让我的客户自动重新连接。此外,在任何地方都没有可以看到套接字状态的属性(套接字已断开连接?),以便我可以手动重新连接。我错过了什么?

根据 nanomsg 文档,有一个重新连接间隔设置称为NN_RECONNECT_IVL. 我似乎无法让它工作。考虑以下:

我有一个可用的 nanomsg 服务器:

然后我附上它:

我看到了:

然后,我杀死服务器并重新启动它,nanocat 不会自动重新连接。也许我缺少一个设置?

接下来,我使用 NNanomsg 在 C# 中构建了一个客户端:

我看到了:

然后,我杀死服务器并重新启动它,我的 C# 客户端不会自动重新连接。也许我缺少一个设置?

接下来,我在 c 中构建了一个客户端:

我看到了:

(垃圾,因为我猜 nanomsg 没有初始化缓冲区,我懒惰地使用 printf)

然后,我杀死服务器并重新启动它,我的 C 客户端不会自动重新连接。

我错过了什么?

注意:我尝试在 and 之前和之后设置套接字nn_connect()选项s.Connect。没有。

0 投票
1 回答
1033 浏览

c - Nanomsg TCP 握手

我也在 Arduino 部分发布了这个,但这个问题可能更多是由于我对 nanomsg 和一般连接的无知而不是 Arduino 问题。

我正在尝试与使用nanomsg通过 TCP 在使用 Arduino 的端口上进行通信的服务器进行通信。我尝试了各种不同的配置(使用不同的 nanomsg 工具远程连接到 arduino 并使 arduino 连接到服务器)。

我可以让 Arduino 在服务器模式下(运行 WiFiWebServer 示例的略微修改版本)成功读取我使用 cat 发送的文本

然而,在所有配置中,无论我尝试使用 nanomsg 发送什么文本,我总是得到一串相同数字的字符串。从arduino将字节打印为十六进制,它们是0 53 50 0 0 51 0 0。Nanocat(nanomsg的简单命令行工具)挂起而不是发送和关闭(就像它在发送之前不断尝试确认连接数据)。

我假设这是Arduino失败的某种握手,因为客户端连接,读取这些字节,然后关闭并重新启动。在两端(从我的本地计算机到服务器)使用 nanomsg 可以正常工作。

如果我得到的这些数字是握手,我该如何完成呢?

Arduino代码循环部分的内容是

尝试连接时挂起的 nanocat 命令是

0 投票
1 回答
1346 浏览

python - C (nanomsg) 和 Python (non-nanomsg) 之间的套接字连接

我在 C 中创建了一个套接字服务器(使用 nanomsg),它将通过 TCP 与 Python 脚本(使用标准的“套接字”实现)进行通信:

C 代码(无错误处理):

Python代码:

连接到套接字时 Python 没有错误(如果 C 应用程序正在运行)。但是,C 脚本在方法 nn_recv 中处于空闲状态,根本没有得到任何数据。我究竟做错了什么?

首先,我在 shell 中启动 C 代码(它在方法 nn_recv 中空闲)。然后我在另一个 shell 中启动 Python 并期望 C 应用程序接收数据。两个脚本都执行没有错误。