再编写一个client.cpp:
#include "ros/ros.h"
#include <sstream>
#include "server_client/Addints.h"
int main(int argc,char *argv[]){
setlocale(LC_ALL,"");
ros::init(argc,argv,"client");
ros::NodeHandle n;
ros::ServiceClient client= n.serviceClient<server_client::Addints>("Addints");
server_client::Addints a;
a.request.num1=100;
a.request.num2=200;
bool flag=client.call(a);
if(flag){
ROS_INFO("Successfully responded.");
ROS_INFO("Result = %d",a.response.sum);
}
else{
ROS_INFO("Failed to respnd.");
}
再修改CMakeList.txt:
add_executable(client src/client.cpp)
add_dependencies(client ${PROJECT_NAME}_gencpp)
target_link_libraries(client
${catkin_LIBRARIES}
)
最后先运行rosrun server_client server,再运行rosservice call,再运行rosrun server_client client
结果就运行出来了。要注意两个终端都要source
2155

被折叠的 条评论
为什么被折叠?



