基于LCM通讯的java版本使用 原创

Lightweight Communications and Marshalling (LCM)是消息传递和数据编码的工具库,高带宽和低延迟的实时系统,提供发布/订阅消息传递模型。
官方开源地址:https://github.com/lcm-proj/lcm
本文主要基于官方文档介绍JAVA版本的使用,本文在ubuntu下编译,下文设计的命令在ubuntu下有效。

lcm-gen编译安装

参考文档 build-instructions.md,相关命令如下:

$ git clone https://github.com/lcm-proj/lcm lcm-proj
$ cd lcm-proj
$ mkdir build
$ cd build
$ sudo apt install openjdk-8-jdk-headless cmake libglib2.0-dev build-essential
$ cmake ..
$ make

编程完成后,会在build目录生成相关的文件,将会用到以下两个文件
build/lcmgen/lcm-gen
build/lcm-java/lcm.jar

LCM 使用

LCM是基于发布、订阅消息模型,参考docs/content/tutorial-java.md

$ cd examples/java/example_t_demo
$ cp ../../types/example_t.lcm ./
$ cp ../../../build/lcm-java/lcm.jar ./
  • 使用lcm-gen将*.lcm转换为exlcm/example_t.java
    ../../../build/lcmgen/lcm-gen -j example_t.lcm

  • 编译所有的java文件
    javac -cp .:lcm.jar *.java exlcm/*.java

  • 运行订阅者 MySubscriber
    java -cp .:lcm.jar MySubscriber

  • 新建一个命令窗口,运行发布者 SendMessage
    java -cp .:lcm.jar SendMessage

  • 运行正常,会在MySubscriber窗口显示如下数据
    在这里插入图片描述

问题备注

  1. 在WIFI下,收不到局域网的数据包,或者丢包严重
posted @   清霜辰  阅读(0)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示