目录
本文在linux ubuntu 18.04版本上进行运行。
1. someip基础知识
参考 关于SOME/IP的理解_AgingMoon的博客-CSDN博客_someip
2.vsomeip 准备工作
2.1 vsomeip 源码下载
GitHub - COVESA/vsomeip: An implementation of Scalable service-Oriented MiddlewarE over IP
2.2 依赖项下载
vsomeip 主要依赖boost库,因此需要下载boost,同时采用g++ cmake进行编译。
- A C++11 enabled compiler like gcc >= 4.8 is needed.
- vsomeip uses CMake as buildsystem.
- vsomeip uses Boost >= 1.55:
sudo apt-get install libboost-system-dev libboost-thread-dev libboost-log-dev
sudo apt-get install asciidoc source-highlight doxygen graphviz
sudo apt-get install gcc g++ make
3.vsomeip 编译
进入vsomeip 目录
mkdir build
cd build
cmake ..
make
此处会编译出vsomeip库
接着,我们可以使用其中的Hello world 案例来进一步进行编译使用;
cmake --build . --target hello_world
cd ./examples/hello_world/
make
编译完成后,在目录下生成两个可执行文件 hello_world_client 和 hello_world_service
接着就可以继续执行Helloworld程序了。
4. vsomeip helloworld使用
在执行前,先将 配置 json文件拷贝到执行目录下
启动服务端
VSOMEIP_CONFIGURATION=./helloworld-local.json \
VSOMEIP_APPLICATION_NAME=hello_world_service \
./hello_world_service
启动客户端
VSOMEIP_CONFIGURATION=./helloworld-local.json \
VSOMEIP_APPLICATION_NAME=hello_world_client \
./hello_world_client
[info] Using configuration file: ../helloworld-local.json
[debug] Routing endpoint at /tmp/vsomeip-0
[info] Service Discovery disabled. Using static routing information.
[debug] Application(hello_world_service, 4444) is initialized.
[debug] Application/Client 5555 got registered!
[info] Using configuration file: ../helloworld-local.json
[debug] Connecting to [0] at /tmp/vsomeip-0
[debug] Listening at /tmp/vsomeip-5555
[debug] Application(hello_world_client, 5555) is initialized.
Sending: World
Received: Hello World