本文共 3696 字,大约阅读时间需要 12 分钟。
官网
源码下载
我使用的版本
nanomsg-1.1.4.tar.gz
下载地址:
编译源码
1、解压源码包
rt@ubuntu:~/nano$ tar xvf nanomsg-1.1.4.tar.gz
rt@ubuntu:~/nano$ cd nanomsg-1.1.4/
2、生成makefile文件
需要使用cmake,如果机器没有安装需要安装 sudo apt install cmake
rt@ubuntu:~/nano$ mkdir build
rt@ubuntu:~/nano$ cd build rt@ubuntu:~/nano$ cmake .. -DCMAKE_INSTALL_PREFIX=/home/rt/opt/nano 其中-DCMAKE_INSTALL_PREFIX为安装路径,如果需要安装到自己系统中就不要添加后面的参数,直接cmake ..即可。3、编译,安装
rt@ubuntu:~/nano$ cmake --build .
rt@ubuntu:~/nano$ ctest .
rt@ubuntu:~/nano$ cmake --build . --target install
rt@ubuntu:~/nano$ sudo ldconfig
此时在安装路径下就有生成的文件了
4、测试
在这个网站上有入门的测试例子
我们那去其中的一个作为例子代码编译运行
将代码保存为survey.c
使用命令gcc survey.c -o survey -lnanomsg -I/home/rt/opt/nano/include -L/home/rt/opt/nano/lib -Wl,-rpath=/home/rt/opt/nano/lib
编译
执行以下命令
./survey server ipc:///tmp/survey.ipc & server=$!./survey client ipc:///tmp/survey.ipc client0 & client0=$!./survey client ipc:///tmp/survey.ipc client1 & client1=$!./survey client ipc:///tmp/survey.ipc client2 & client2=$!sleep 4 kill $server $client0 $client1 $client2
输出如下:
rt@ubuntu:~/nano$ ./survey server ipc:///tmp/survey.ipc & server=$![1] 25829rt@ubuntu:~/nano$ ./survey client ipc:///tmp/survey.ipc client0 & client0=$![2] 25830rt@ubuntu:~/nano$ ./survey client ipc:///tmp/survey.ipc client1 & client1=$![3] 25831rt@ubuntu:~/nano$ ./survey client ipc:///tmp/survey.ipc client2 & client2=$!SERVER: nn_socketSERVER: nn_bindSERVER: NN_RCVTIMEO -1SERVER: NN_RCVTIMEO 5000SERVER: SENDING DATE SURVEY REQUEST[4] 25834rt@ubuntu:~/nano$ sleep 4 SERVER: ETIMEDOUTSERVER: SURVEY COMPLETESERVER: SENDING DATE SURVEY REQUESTCLIENT (client0): RECEIVED "DATE" SURVEY REQUESTCLIENT (client2): RECEIVED "DATE" SURVEY REQUESTCLIENT (client1): RECEIVED "DATE" SURVEY REQUESTCLIENT (client2): SENDING DATE SURVEY RESPONSECLIENT (client0): SENDING DATE SURVEY RESPONSECLIENT (client1): SENDING DATE SURVEY RESPONSESERVER: RECEIVED "Tue Sep 18 20:24:12 2018" SURVEY RESPONSESERVER: RECEIVED "Tue Sep 18 20:24:12 2018" SURVEY RESPONSESERVER: RECEIVED "Tue Sep 18 20:24:12 2018" SURVEY RESPONSESERVER: ETIMEDOUTSERVER: SURVEY COMPLETESERVER: SENDING DATE SURVEY REQUESTCLIENT (client0): RECEIVED "DATE" SURVEY REQUESTCLIENT (client1): RECEIVED "DATE" SURVEY REQUESTCLIENT (client2): RECEIVED "DATE" SURVEY REQUESTCLIENT (client0): SENDING DATE SURVEY RESPONSECLIENT (client2): SENDING DATE SURVEY RESPONSECLIENT (client1): SENDING DATE SURVEY RESPONSESERVER: RECEIVED "Tue Sep 18 20:24:13 2018" SURVEY RESPONSESERVER: RECEIVED "Tue Sep 18 20:24:13 2018" SURVEY RESPONSESERVER: RECEIVED "Tue Sep 18 20:24:13 2018" SURVEY RESPONSESERVER: ETIMEDOUTSERVER: SURVEY COMPLETESERVER: SENDING DATE SURVEY REQUESTCLIENT (client0): RECEIVED "DATE" SURVEY REQUESTCLIENT (client0): SENDING DATE SURVEY RESPONSESERVER: RECEIVED "Tue Sep 18 20:24:14 2018" SURVEY RESPONSECLIENT (client1): RECEIVED "DATE" SURVEY REQUESTCLIENT (client1): SENDING DATE SURVEY RESPONSECLIENT (client2): RECEIVED "DATE" SURVEY REQUESTCLIENT (client2): SENDING DATE SURVEY RESPONSESERVER: RECEIVED "Tue Sep 18 20:24:14 2018" SURVEY RESPONSESERVER: RECEIVED "Tue Sep 18 20:24:14 2018" SURVEY RESPONSESERVER: ETIMEDOUTSERVER: SURVEY COMPLETESERVER: SENDING DATE SURVEY REQUESTCLIENT (client0): RECEIVED "DATE" SURVEY REQUESTCLIENT (client2): RECEIVED "DATE" SURVEY REQUESTCLIENT (client1): RECEIVED "DATE" SURVEY REQUESTCLIENT (client0): SENDING DATE SURVEY RESPONSECLIENT (client2): SENDING DATE SURVEY RESPONSECLIENT (client1): SENDING DATE SURVEY RESPONSESERVER: RECEIVED "Tue Sep 18 20:24:15 2018" SURVEY RESPONSESERVER: RECEIVED "Tue Sep 18 20:24:15 2018" SURVEY RESPONSESERVER: RECEIVED "Tue Sep 18 20:24:15 2018" SURVEY RESPONSE[1]+ Terminated ./survey server ipc:///tmp/survey.ipc
转载地址:http://llhzb.baihongyu.com/