C++实现Server端
Server端实现流程¶
1. 初始化ROS,创建节点¶
1 2 |
|
2. 通过节点创建Server端¶
Tip
此处重点是serviceName
,servcieName
的格式为/xx/xx
,用网址分隔符隔开,可以有多个级别的深度。
3. 实现server端服务的业务逻辑¶
Tip
回调的返回结果为bool
类型,如果结果为true
,说明对于客户端的请求处理正常的执行了,并且返回了有效的结果. 如果为false
说明对于客户端的请求没有正常执行,通常原因是客户端的数据不合理。
完整实例代码¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
调试server端¶
调试server端
主要是查看server端
是否能接收到请求,并根据请求数据处理相应的业务逻辑,然后返回处理好的结果。
在这里,我们只需要模拟client端
发送请求就可以了。
ROS提供了命令行工具和图形化工具供我们调试开发。
1. rosservice命令行调试¶
通过rosservice list
命令可以帮助我们查询出当前运行的所有service
1 |
|
查询的结果中,我们可以得到对应的服务名称/demo_service/add_tow_int
通过查询的服务名称,来调用此服务
1 |
|
Tip
rosservice call
负责调用service。第一个参数是要调用的service的名称,后面的参数是调用时需要传入的参数。
2.rqt_service_caller工具调试¶
通过命令呼出工具
1 |
|