目录
1.按如图目录层级建立mysrv.srv文件,里面存储客户端和服务端的数据载体
2.编辑srv文件内容,客户端要项服务器端请求发送的数据,服务端处理完成后响应客户端的数据,用三个横线隔开;
一、建立自定义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是命令行输入参数的数组,注意从命令行输入的都是字符串格式的数据,在程序里面使用的时候必须要转化成需要的格式。
四、运行
先启动服务端,在启动客户端