ROS案例:服务通信

目录

一、建立自定义src文件

1.按如图目录层级建立mysrv.srv文件,里面存储客户端和服务端的数据载体

2.编辑srv文件内容,客户端要项服务器端请求发送的数据,服务端处理完成后响应客户端的数据,用三个横线隔开;

3.查看编译后产生的头文件并且复制这三个文件的路径

4.将三个路径添加到includepath中

5.在package.xml中添加以下依赖

6.修改cmakelists中的文件

二、服务端代码

三、客户端代码

四、运行


一、建立自定义src文件

1.按如图目录层级建立mysrv.srv文件,里面存储客户端和服务端的数据载体

2.编辑srv文件内容,客户端要项服务器端请求发送的数据,服务端处理完成后响应客户端的数据,用三个横线隔开;

3.查看编译后产生的头文件并且复制这三个文件的路径

4.将三个路径添加到includepath中

5.在package.xml中添加以下依赖

<build_depend>message_generation</build_depend>
<exec_depend>message_runtime</exec_depend>

6.修改cmakelists中的文件

二、服务端代码

srv_topic为话题,它将服务端和客户端联系到一起

此时如果想测试一下服务端的代码,可以rosservice call srv_topic然后自动补齐请求数据的变量,手动改动一下请求数据的值,然后回车,可以测试服务端的代码。

三、客户端代码

atoi 是 C 标准库中的一个函数,用于将字符串转换为整数

client.call(ms) 会在服务调用成功时返回 true,即当服务服务器成功处理请求并返回响应时返回 true。否则,它将返回 false

argc是命令行输入参数的数目,argv是命令行输入参数的数组,注意从命令行输入的都是字符串格式的数据,在程序里面使用的时候必须要转化成需要的格式。

四、运行

先启动服务端,在启动客户端

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值