nanomsg编译与测试

官网

https://nanomsg.org/

源码下载

https://github.com/nanomsg/nanomsg/releases

我使用的版本

nanomsg-1.1.4.tar.gz

下载地址:https://download.csdn.net/download/andylauren/10682975

编译源码

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、测试

在这个网站上有入门的测试例子

https://nanomsg.org/gettingstarted/index.html

我们那去其中的一个作为例子代码编译运行

https://nanomsg.org/gettingstarted/survey.html代码保存为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] 25829
rt@ubuntu:~/nano$ ./survey client ipc:///tmp/survey.ipc client0 & client0=$!
[2] 25830
rt@ubuntu:~/nano$ ./survey client ipc:///tmp/survey.ipc client1 & client1=$!
[3] 25831
rt@ubuntu:~/nano$ ./survey client ipc:///tmp/survey.ipc client2 & client2=$!SERVER: nn_socket

SERVER: nn_bind
SERVER: NN_RCVTIMEO -1
SERVER: NN_RCVTIMEO 5000
SERVER: SENDING DATE SURVEY REQUEST
[4] 25834
rt@ubuntu:~/nano$ sleep 4 

SERVER: ETIMEDOUT
SERVER: SURVEY COMPLETE
SERVER: SENDING DATE SURVEY REQUEST
CLIENT (client0): RECEIVED "DATE" SURVEY REQUEST
CLIENT (client2): RECEIVED "DATE" SURVEY REQUEST
CLIENT (client1): RECEIVED "DATE" SURVEY REQUEST
CLIENT (client2): SENDING DATE SURVEY RESPONSE
CLIENT (client0): SENDING DATE SURVEY RESPONSE
CLIENT (client1): SENDING DATE SURVEY RESPONSE
SERVER: RECEIVED "Tue Sep 18 20:24:12 2018" SURVEY RESPONSE
SERVER: RECEIVED "Tue Sep 18 20:24:12 2018" SURVEY RESPONSE
SERVER: RECEIVED "Tue Sep 18 20:24:12 2018" SURVEY RESPONSE
SERVER: ETIMEDOUT
SERVER: SURVEY COMPLETE
SERVER: SENDING DATE SURVEY REQUEST
CLIENT (client0): RECEIVED "DATE" SURVEY REQUEST
CLIENT (client1): RECEIVED "DATE" SURVEY REQUEST
CLIENT (client2): RECEIVED "DATE" SURVEY REQUEST
CLIENT (client0): SENDING DATE SURVEY RESPONSE
CLIENT (client2): SENDING DATE SURVEY RESPONSE
CLIENT (client1): SENDING DATE SURVEY RESPONSE
SERVER: RECEIVED "Tue Sep 18 20:24:13 2018" SURVEY RESPONSE
SERVER: RECEIVED "Tue Sep 18 20:24:13 2018" SURVEY RESPONSE
SERVER: RECEIVED "Tue Sep 18 20:24:13 2018" SURVEY RESPONSE
SERVER: ETIMEDOUT
SERVER: SURVEY COMPLETE
SERVER: SENDING DATE SURVEY REQUEST
CLIENT (client0): RECEIVED "DATE" SURVEY REQUEST
CLIENT (client0): SENDING DATE SURVEY RESPONSE
SERVER: RECEIVED "Tue Sep 18 20:24:14 2018" SURVEY RESPONSE
CLIENT (client1): RECEIVED "DATE" SURVEY REQUEST
CLIENT (client1): SENDING DATE SURVEY RESPONSE
CLIENT (client2): RECEIVED "DATE" SURVEY REQUEST
CLIENT (client2): SENDING DATE SURVEY RESPONSE
SERVER: RECEIVED "Tue Sep 18 20:24:14 2018" SURVEY RESPONSE
SERVER: RECEIVED "Tue Sep 18 20:24:14 2018" SURVEY RESPONSE
SERVER: ETIMEDOUT
SERVER: SURVEY COMPLETE
SERVER: SENDING DATE SURVEY REQUEST
CLIENT (client0): RECEIVED "DATE" SURVEY REQUEST
CLIENT (client2): RECEIVED "DATE" SURVEY REQUEST
CLIENT (client1): RECEIVED "DATE" SURVEY REQUEST
CLIENT (client0): SENDING DATE SURVEY RESPONSE
CLIENT (client2): SENDING DATE SURVEY RESPONSE
CLIENT (client1): SENDING DATE SURVEY RESPONSE
SERVER: RECEIVED "Tue Sep 18 20:24:15 2018" SURVEY RESPONSE
SERVER: RECEIVED "Tue Sep 18 20:24:15 2018" SURVEY RESPONSE
SERVER: RECEIVED "Tue Sep 18 20:24:15 2018" SURVEY RESPONSE
[1]+  Terminated              ./survey server ipc:///tmp/survey.ipc

猜你喜欢

转载自blog.csdn.net/andylauren/article/details/82818481