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
本文为保持文章完整性可能使用了其他作者的文字,如果影响到您的权益,请与我联系,谢谢理解!
转载本文请注明出处,非作者授权不得用于商业用途。