一、目标
优化程序,P74中的两个参数是固定的。修改后,可以在执行节点时,动态的传入参数
1、导包
2、判断
3、得到数据
sys.argv有三个参数,sys.argv[0]是文件名字。sys.argv[1]是第一个参数。
修改后的程序:
#!/usr/bin/env python2
import rospy
from plumbing_server_client.srv import AddInts,AddIntsRequest,AddIntsResponse
import sys
"""
客户端:组织并提交请求,处理服务端给出的响应
1.导包
2.初始化ROS节点
3.创建客户端对象;
4.组织请求数据,并发送请求;
5.处理响应.
优化:
在执行节点时,动态传入参数
"""
if __name__=="__main__":
#判断参数长度
if len(sys.argv) !=3:
rospy.logerr("传入的参数不对")
sys.exit(1)
# 2.初始化ROS节点
rospy.init_node("guangTouQiang")
# 3.创建客户端对象;
client= rospy.ServiceProxy("addInts",AddInts)
# 4.组织请求数据,并发送请求;
num1=int(sys.argv[1])
num2=int(sys.argv[2])
response=client.call(num1,num2)
# 5.处理响应.
rospy.loginfo("响应的数据:%d",response.sum)
二、检测服务通信
1、开启核心
2、启动服务端
3、启动客户端
source ./devel/setup.bash
rosrun plumbing_server_client demo02_client_p.py 12 21
4、结果展示