基于LCM通讯的java版本使用

本文详细介绍了如何在Ubuntu系统上编译安装LCM,并提供了JAVA版本的使用教程,包括lcm-gen编译步骤、消息发送与订阅示例,以及可能遇到的问题及解决方案,如网络性能影响和数据包大小限制等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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下,收不到局域网的数据包,或者丢包严重
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清霜辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值