MOOS通信框架初探(一)
鉴于moos官网上资料有很多,此处只是针对于用到的东西进行了学习:
moos-ivp官网网址: https://oceanai.mit.edu/moos-ivp/pmwiki/pmwiki.php?n=Main.HomePage
基础文档如下:
1. MOOS概述
1.1. MOOS的框架如下:
MOOS是一套自主的发布-订阅的中间件,消息由各个app自主订阅,MOOSDB统一分发;(每一个moos应用程序都是一个客户端,都连接在MOOSDB上,这个连接是由客户端建立的); MOOS的应用程序接口允许客户端与MOOSDB之间进行数据传输。
1.2 MOOS应用中的关键虚函数
(1) Iterate();(在调用OnNewMail()之后,在每次应用程序迭代时都会调用Iterate()方法。 )
通过该功能可以协调应用程序要执行的工作,基类会定期自动调用iterate函数;可以配置SetAppFreq()调用迭代的速率,也可以通过在任务文件中指定“ AppTick”参数来配置;MOOSApp知道何时调用Iterate。函数MOOSTime以浮点秒为单位返回Unix时间。
(2)OnNewMail();(订阅时使用----用来处理邮件)
如果有新邮件在等待,则varCMOOSApp基类将调用OnNewMail()虚函数,在CMOOSApp :: Run()中调用此函数,返回值是std :: list <CMOOSMsg>形式;可以自由地遍历此集合,以检查谁发送了数据以及数据的相关性并相应地操作数据。
(3) OnConnectToServer();-----末尾一般用来读邮件时注册登记变量
它实际上是来自CMOOSApp拥有的处理所有IPC通信的mComms对象(实例CMOOSCommsObject)中的线程的回调;如果有其他进程发布与特定变量有关的数据,则告诉MOOSDB我们要发送邮件;
(4) OnStartup();--------末尾一般用来注册变量
在应用程序进入其自己的永久循环之前调用此函数。这是实现应用程序的初始化代码的应用程序,尤其是读取配置参数(包括那些修改CMOOSApp基类的默认的参数 )中的文件。
1.3. 客户端之间传递的数据形式受到MOOS的限制:
(1) 通常,数据类型是字符串或双精度型 ;
(2) 二进制数据可以打包到字符串字段中 ;
其消息类为MOOSMsg ,提供的部分功能如下:
下一篇就是MOOSApp的编写啦~
MOOS通信框架初探(一)相关推荐
- 网络通信应用开发利器!—— ESPlus —— ESFramework通信框架的增强库
概述 ESPlus 是基于网络通信框架ESFramework通信框架通信框架的增强库.为了更贴近实际应用,加快网络通信系统的开发,ESPlus在ESFramework通信框架原生功能的基础上,进行了再 ...
- 高可靠性的php通信框架,跨平台PHP高可靠性通信框架,OHSCE_V0.1.25 发布
Open HI-REL Signal Communication Engine(简称OHSCE)是一款高可靠性跨平台的PHP通信框架,对Windows友好且同时支持Linux和OS X.对TCP.UD ...
- java 进程通信框架,MediatR-进程内的消息通信框架
MediatR是一款进程内的消息订阅.发布框架,提供了Send方法用于发布到单个处理程序.Publish方法发布到多个处理程序,使用起来非常方便.目前支持 .NET Framework4.5..NET ...
- 【EventBus】事件通信框架 ( 总结 | 手写事件通信框架完整代码示例 | 测试上述框架 )
文章目录 一.消息中心 二.订阅方法时的注解 三.订阅方法封装 四.订阅对象-方法封装 五.线程模式 六.Activity 中测试上述框架 七.博客源码 一.消息中心 该消息中心是事件通信框架的核心代 ...
- Netty通信框架Java实现小记
1.Netty介绍 Netty通俗地说就是一套Socket通信框架,提供异步的.事件驱动的网络应用程序框架和工具,可快速开发高性能.高可靠性的网络服务器和客户端程序 2.Netty的特性 ...
- 高性能 TCP UDP 通信框架 HP-Socket v3.2.3
HP-Socket 是一套通用的高性能 TCP/UDP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP 通信系统,提供 C/C++.C#.Del ...
- 介绍开源的.net通信框架NetworkComms
Networkcomms 是一款C# 语言编写的TCP/UDP通信框架 作者是英国人 以前是收费的 目前作者已经开源 开源地址是:https://github.com/MarcFletcher/ ...
- ESFramework 可复用的通信框架(序)
自从2004年7月开始,就一直从事N层C/S结构的服务端的开发,从最初的熟悉各种Windows Socket API.熟悉完成端口模型,探索高效稳定的服务端通信模型,时至今日,慢慢的积累了一些C/S服 ...
- AgileEAS.NET SOA 中间件平台.Net Socket通信框架-完整应用例子-在线聊天室系统-代码解析...
一.AgileEAS.NET SOA中间件Socket/Tcp框架介绍 在文章AgileEAS.NET SOA 中间件平台.Net Socket通信框架-介绍一文之中我们对AgileEAS.NET S ...
最新文章
- 太胖就会变秃,这回真的有依据了!日本学者发现肥胖会诱导毛囊衰竭 | Nature...
- wireshark协议解析器原理与插件编写
- 网络爬虫(Web crawler)|| 爬虫入门程序
- 数字图像处理实验(7):PROJECT 04-03 , Lowpass Filtering
- 这样一款超低功耗的集成 2.4 GHz Wi-Fi 和支持长距离的 Bluetooth LE 5.0的SOC,你怎么能不爱它?
- CocoStudio 的使用
- mysql 5.5 驱动jar包_MySQL驱动jar包下载
- 网易云课堂资源合集百度云分享
- 王道机考系列——数学问题
- 网易蜂巢(云计算基础服务)MongoDB服务重磅来袭
- MDCC为移动开发者服务:一看、一聊、一聚
- ipad上怎么打开html文件,ipad HTML文件怎么打开
- 某剧院有33排座位java_行测备考资料:数量关系深处隐藏的整除技巧
- 0.91英寸和0.96英寸OLED驱动区别
- Linux系统Word转换PDF,文档字体乱码不显示问题解决。
- 路由器绑定mac地址
- 谷歌浏览器突然翻译不了怎么办?
- APP热更新方案(转)
- GDI基础(1):绘制线条和图形
- 新浪博客代码(第九十三期)-几种视频播放器的代码