MOOS通配符订阅

Posted 静世孔明

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MOOS通配符订阅相关的知识,希望对你有一定的参考价值。

MOOS通配符订阅

简介

通配符订阅是MOOSV10的重要进步,客户端可以通过此方式订阅名字和来源符合简单正则表达式的数据。

现在仅支持“*”和“?”两种通配符,其中“*”指任意数量的字符,“?”指任意单个字符。

例子

以下使用CMOOSApp::Register(sVarPattern,sAppPattern,dfInterval)函数为例展示通配符订阅的格式。

bool MyApp::OnConnectToServer()
{
    //订阅所有以“image”结尾的变量
    //从任何以“camera_”开始的进程中
    Register("*image","camera_*",0.0);
    
    //订阅来自名为“system_control”进程的任何单一变量
    Rrgister("*","syster_cintrol",0.0);
    
    //订阅任何名称以“error_”开始的变量
    //由名称为9个字符的以“process_0”开始的进程产生
    //注意通讯速度为每秒最多两次
    Register("error_*","process_0",2.0);
    return true;
}

这种方式提供了一种简洁有效的方式订阅数据,尤其是可以实现大范围变量的订阅;比如指定过程的所有变量——Register("*","ProcessName");甚至来自所有过程的所有变量——Register("*","*")。

注意

[2049]错误

发生该错误时显示的内容为

Too many unread incoming messages [2049] : purging
The user must read mail occasionally

以上是关于MOOS通配符订阅的主要内容,如果未能解决你的问题,请参考以下文章

MOOS学习笔记——多线程

MOOS学习笔记4——独立线程不同回调

MOOS学习笔记3——命令行

MOOS学习笔记2——HelloWorld回调

RbbitMQ04_Spring整合RabbitMQ实现发布与订阅模式路由模式通配符模式

javascript UV Index Monitor App订阅PubNub并显示UV索引值。博文的代码片段。在这里查看项目:https:// githu