nanomsg編譯與測試
阿新 • • 發佈:2018-12-11
官網
原始碼下載
我使用的版本
nanomsg-1.1.4.tar.gz
編譯原始碼
1、解壓原始碼包
[email protected]:~/nano$ tar xvf nanomsg-1.1.4.tar.gz
[email protected]:~/nano$ cd nanomsg-1.1.4/
2、生成makefile檔案
需要使用cmake,如果機器沒有安裝需要安裝 sudo apt install cmake
[email protected]:~/nano$ mkdir build
[email protected]:~/nano$ cd build
[email protected]:~/nano$ cmake .. -DCMAKE_INSTALL_PREFIX=/home/rt/opt/nano
其中-DCMAKE_INSTALL_PREFIX為安裝路徑,如果需要安裝到自己系統中就不要新增後面的引數,直接cmake ..即可。
3、編譯,安裝
[email protected]:~/nano$ cmake --build .
[email protected]:~/nano$ ctest .
[email protected]:~/nano$ cmake --build . --target install
此時在安裝路徑下就有生成的檔案了
4、測試
在這個網站上有入門的測試例子
我們那去其中的一個作為例子程式碼編譯執行
使用命令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
輸出如下:
[email protected]:~/nano$ ./survey server ipc:///tmp/survey.ipc & server=$!
[1] 25829
[email protected]:~/nano$ ./survey client ipc:///tmp/survey.ipc client0 & client0=$!
[2] 25830
[email protected]:~/nano$ ./survey client ipc:///tmp/survey.ipc client1 & client1=$!
[3] 25831
[email protected]:~/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
[email protected]:~/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