客户端Client的编程实现

客户端Client的编程实现_第1张图片
Client发布产生海龟的一个Request请求,发给Server端(小海龟仿真器),Server端收到请求后会产生一个新的海龟,回馈一个Response给Client,service名字为/spawn,用到service的消息结构叫做turtlesim::Spawn,在turtlesim的功能包自定义的一个消息结构

  1. 在工作空间下创建一个learning_service
catkin_create_pkg learning_service roscpp rospy std_msgs geometry_msgs turtlesim
  1. 创建客户端代码(C++)

learning_service/src/turtle_spawn.cpp
客户端Client的编程实现_第2张图片

  • call方法把封装好的请求数据srv发出去。
  • call为阻塞型函数,等待服务器的反馈,等到海龟产生了,才能继续运行下一句
  • srv.response.name和srv.request.name是一致的,turtle2

3.配置客户端代码编译规则

  • learning_service/src
add_executable(turtle_spawn src/turtle_spawn.cpp)
target_link_libraries(turtle_spawn ${catkin_LIBRARIES})

客户端Client的编程实现_第3张图片

  • 进入工作空间
catkin_make
source devel/setup.bash
roscore
rosrun turtlesim turtlesim_node
rosrun learning_service turtle_spawn

客户端Client的编程实现_第4张图片
有request和response

你可能感兴趣的:(ROS笔记)