ROS中service 与action 的区别

service是同步的通信机制,a和b间通过sevice机制通信,假设a是客户端访问b服务器端,a远程调用b上的某个函数,a程序得等b服务器响应后才能作其他的事情(运行其他程序),如果b服务器长期无响应,那么a啥也别做了,一直等下去吧,无法取消。显然效率低下,原因在于service时同步通信机制。

ros提供了另外一种通信机制action,可以在远程调用服务器上某程序后,转而执行其他的程序,周期性的获得服务器上的信息,或者取消发送到服务器上的某远程调用,机制灵活,异步通信。

猜你喜欢

转载自blog.csdn.net/ipatient/article/details/51435779
今日推荐