MOOS学习笔记2——HelloWorld回调

MOOS学习笔记2——HelloWorld回调

例程

#include "MOOS/libMOOS/Comms/MOOSAsyncCommClient.h"

bool  OnConnect(void* pParam){
CMOOSCommClient  *pC=reinterpret_cast<CMOOSCommClient*>(pParam);
pC->Register("Greeting",0.0);
return true;
}

//用于SetOnmailCallBack()初始化,作为回调
//邮件一来就调用该函数
bool Onmail(void * pParam){
   CMOOSCommClient *pC=reinterpret_cast<CMOOSCommClient*>(pParam);
   MOOSMSG_LIST M;
   pC->Fetch(M);
   MOOSMSG_LIST::iterator q;
   for(q=M.begin();q!=M.end();q++){
      q->Trace();
   }
   return true;
}

int main(int argc,char *argv[]){
    MOOS::MOOSAsyncCommClient Comms;
    //设置用户提供的邮件到来的回调函数,不常用,一般在用户线程取邮件
    Comms.SetOnMailCallBack(Onmail,&Comms);
    Comms.SetOnConnectCallBack(OnConnect,&Comms);
    Comms.Run("localhost",9000,"EX20");
    for(;;){
      MOOSPause(1000);
      Comms.Notify("Greeting","Hello");
    }
    return 0;
}

原文地址:https://www.cnblogs.com/jingshikongming/p/8971952.html

时间: 2024-09-30 19:39:37

MOOS学习笔记2——HelloWorld回调的相关文章

MOOS学习笔记1——HelloWorld

MOOS学习笔记1--HelloWorld 例程 /* * @功能:通讯客户端的最简单程序,向MOOSDB发送名为"Greeting" * 数据"Hello",并向MOOSDB订阅该信息,接收信息后显示 * 出来 */ /* * @功能:插入通讯类头文件 * @介绍:MOOSAsyncCommClient与DB连接以后启动两个不同步的读写线程, * 极大的减少了时间延迟. */ #include"MOOS/libMOOS/Comms/MOOSAsyncCo

MOOS学习笔记3——命令行

MOOS学习笔记3--命令行 例程 /** * @code A simple example showing how to use a comms client问问怎么样 */ #include "MOOS/libMOOS/Comms/MOOSAsyncCommClient.h" #include "MOOS/libMOOS/Utils/CommandLineParser.h" bool OnConnect ( void *pParam ) { CMOOSCommC

spring data jpa学习笔记一:helloworld

在学习 JPA Spring Data之前,我们有必要了解一下JPA和Spring Data. JPA JPA全称Java Persistence API.即java持久化规范.JPA通过注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. Spring Data Spring Data是Spring框架的一个子项目,就像Spring MVC是Spring的一部分一样.使得数据库访问变得方便和快捷.Spring Data 支持JPA. JPA Spring Data J

U3D学习笔记1: HelloWorld

Unity 版本: 5.3.5.f1 Hello World工程 1.新建工程 HelloWorld U3D可选2D和3D游戏 2.新建C#脚本文件 在project栏的assets目录右键->create->script->C# script 同时重命名成HelloWorld,双击即可打开 可以在Edit->preferences->External Tools中选择打开的编辑环境 3.编写代码 除了红色方块框起来的代码,其余的代码都是U3D框架自动帮我们生成好的代码  S

Spring MVC 学习笔记一 HelloWorld

Spring MVC 的使用可以按照以下步骤进行(使用Eclipse): 加入JAR包 在web.xml中配置DispatcherServlet 加入Spring MVC的配置文件 编写处理请求的处理器,并添加对应注解 编写视图 下面按照国际惯例先来一个HelloWorld,在新建项目前最好是在Eclipse中安装一个名叫Spring IDE的插件,它会在你以后进行Spring相关开发中提供诸多便捷功能.新建一个Dynamic Web Project. 点击两次Next,来到向导的第三个界面上,

python3学习笔记--001--python HelloWorld

python默认使用UTF-8编码 一个python3版本的HelloWorld代码如下: #!/usr/bin/env python print ('Hello World!') 如果此python脚本文件名为:hello.py,则运行此脚本文件的方法有两种: 1.python hello.py [[email protected] python]$ python hello.py Hello World! [[email protected] python]$ 2.修改hello.py的权限

MOOS学习笔记——多线程

/* * A simple example showing how to use a comms client */ #include "MOOS/libMOOS/Comms/MOOSAsyncCommClient.h" #include "MOOS/libMOOS/Utils/CommandLineParser.h" #include "MOOS/libMOOS/Utils/ConsoleColours.h" #include "MO

Activiti学习笔记二 — HelloWorld

一. Maven的POM配置文件 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"

Activiti学习笔记目录

1.Activiti学习笔记1 — 下载与开发环境的配置: 2.Activiti学习笔记2 — HelloWorld: 3.Activiti学习笔记3 — 流程定义: 4.Activiti学习笔记4 — 流程实例化: 5.Activiti学习笔记5 — 常用API解析: 6.Activiti学习笔记6 — 变量与历史记录: 7.Activiti学习笔记7 — ReceiveTask机器自动任务的使用: 8.Activiti学习笔记8 — UserTask私有任务的使用: 9.Activiti学习