对上次的客户端还有很大的优化空间,比如如果需要动态输入数据再进行计算或者客户端先开启需要挂起,这个便是本篇所说。
1.动态输入:
在开头加入if(argc!=3){ROS_INFO("输入数据有误");return 1;}
再修改a.request.num1=atoi(argv[1]);a.request.num2=atoi(argv[2]);
2.客户端挂起,等待服务端:
在if前加入等待函数,这里有两种:
1.client.waitForExistence();
2.ros::service::waitForExistence("Addints");等待的服务
这里两种不同的函数需要自己判断选择,比如有多个服务时选用第二个,如果只有一个服务或者需要开启等待所以客户端时候,则选用第一个。
注意要catkin_make 和source ./devel/setup.bash