在ubuntu16.04,ros-kinetic环境中开发发现,当先启动订阅者后启动发布者,那么此时订阅者有可能收不到消息。在订阅者正常接收消息的情况下,此时如果再次重新启动发布者那么订阅者也有可能收不到消息;

解决方法:

1.通过launch把所有节点一起启动,不要单个启动

2.如果碰到发布者节点异常需要重新启动的话就需要监听f发布者节点是否活者或已经重启了,监听到发布者节点重启后,我们需要把订阅者对应的 ros::Subscriber  关闭后再重启;

2.1监听终端命令 rosnode llis 节点的方法是判断rosnode list 中是否存在发布者节点,当监听到重启后就把订阅者重启

具体代码:

.h头文件中的关键代码

private:ros::Subscriber subscriber;//获取机器人当前运行状态ros::Subscriber subscriber_getRobotStatus; //TODO【重启订阅者的核心代码】 qt中的循环执行函数,每300mms执行一次void onUpdate();
//=================获取 rosnode list 终端的数据===================//字符串分割函数 split_status(testInfo_robotNumber_status,str ); 分割符string str ="_";void split_data(std::string pattern,std::string 

ros发布者退出后重新发布, 订阅者无法收到消息的解决办法相关推荐

  1. ros先订阅后发布 无法收到消息的解决办法

    现象 今天遇到的问题是: 使用的是Ros1, 在先订阅后发布时, 会导致订阅者无法收到订阅的消息, 除非在发布者发布后重新订阅. 思考 以前使用的是Ros2似乎并不关心订阅和发布的先后顺序,  似乎都 ...

  2. 使用webpack打包后,vscode中vue代码变白色的解决办法

    使用webpack打包后,vscode中vue代码变白色的解决办法 卸载vetur,重装vetur

  3. 升级10.11后使用CocoaPod出现-bash: pod: command not found 解决办法

    升级10.11后使用CocoaPod出现-bash: pod: command not found 解决办法 升级10.11后,运行pod命令出现: -bash: pod: command not f ...

  4. 苹果设置显示连接到服务器,iPhone升级更新至iOS9后显示连接到iCloud服务器错误现象的解决办法...

    IOS9正式版系统已经推出了,很多用户也更新升级使用了,有部分伙伴发现将iPhone手机升级至IOS9后连接iCloud时出现错误的情况,那么,IOS9连接iCloud出错怎么办呢?针对此问题,本文就 ...

  5. svn安装完成check后无法commit错误信息,及相应的解决办法

    svn安装完成check后无法commit错误信息,及相应的解决办法 错误信息如下: Can't open file '/var/lib/subversion/repositories/dailysi ...

  6. .net 使用ClickOne方式发布的应用程序无法启动的解决办法

    .net 使用ClickOne方式发布的应用程序无法启动的解决办法. 一般情况下在控制面板里删除重新安装就可以了,如果控制面板里没有或者无法删除,则可以删除 X:\Documents and Sett ...

  7. 安装Git后,鼠标右键没有Git bush here的解决办法

    安装Git后,鼠标右键没有Git bush here的解决办法 首先 Win + R ,输入 regedit 进入注册表: 在注册表搜索框输入: HKEY_CLASSES_ROOT\Directory ...

  8. 计算机无法识别新挂硬盘,电脑更新后系统不识别移动硬盘的原因分析及解决办法 系统无法识别移动硬盘教程(两种方...

    今天把电脑系统进行了更新,然后插入移动硬盘,电脑无法识别系统.折腾了半天时间,问题解决了.下面小编把系统无法识别移动硬盘的解决办法分享到脚本之家平台帮助那些和我遇到同样问题的朋友. 方法一:1.先尝试 ...

  9. SpringBoot项目启动后网页显示【Please sign in】的解决办法

    Springboot启动项目后网页显示[Please sign in] 遇到的情况 解决办法 解决效果 根本原因(依赖导错了) 根本解决办法 遇到的情况 启动SpringBoot后,访问http:// ...

最新文章

  1. 利用人工智能(Magpie开源库)给一段中文的文本内容进行分类打标签
  2. Spring Boot 静态资源处理,妙!
  3. 红警1开源放出源码,4K高清重制版登顶Steam畅销榜!网友:青春回来了
  4. 【若依(ruoyi)】Bootstrap-Table的使用
  5. Django从理论到实战(part41)--WSGIRequest对象
  6. IBM HMC V7R740虚拟机安装实战
  7. shiro filter
  8. java 类的传递_Java基本类型的传递
  9. MATLAB中的视角处理
  10. noip2013提高组初赛(答案+选择题题目+个人分析)
  11. 从狄仁杰的测字占卜到一淘网的Query分析
  12. 【百度OCR 文字识别篇】好奇怪的SDK108错误,换种方法解决
  13. cocos creator 使用anysdk接入admod
  14. 如何区分黑体 、宋体和圆体
  15. android--新闻阅读器实现源码
  16. 关于微信小程序过滤器filter的正确使用
  17. 使用k3s部署轻量Kubernetes集群快速教程
  18. 英语学习-索贝斯演讲学习摘要
  19. Google Play ASO 系列 - 最重要的长尾词
  20. html table 好看样式,好看的Table CSS 样式表

热门文章

  1. C++和JNI的数据转换
  2. Django搭建登录注册功能
  3. java中十进制转二进制转换函数
  4. EasyUi-1 拖放
  5. 乱谈互联网产品开发(二)
  6. Enterprise Library 3.1 简化使用范例一
  7. 使用zabbix-agent2自定义插件获取https证书过期时间
  8. centos7.6内核升级
  9. kibana报错Request Timeout after 30000ms故障解决
  10. 在DevStack中使用Systemd