
多机通讯
文章平均质量分 75
多机通讯方式
点PY
付费咨询、有偿辅导+扣扣1224425503
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
利用TCP发布GNSS数据(ROS2转ROS1)
【代码】利用TCP发布GNSS数据(ROS2转ROS1)原创 2024-03-26 19:34:19 · 476 阅读 · 0 评论 -
解决TCP中Bind failed烦恼
在实际使用中,如果您尝试启动一个服务端程序并且遇到了 “Bind failed” 的错误信息,这通常意味着尝试绑定(bind)的端口已经被占用。端口占用:如果之前启动的服务端实例没有正确关闭,或者其他程序正在使用相同的端口,那么操作系统将不允许您再次绑定到该端口。未正确释放端口:在服务端程序异常退出或者没有正确关闭套接字的情况下,操作系统可能仍然认为端口正在被使用。确保正确关闭套接字:在您的代码中,确保在服务端关闭时,您调用了套接字的关闭方法。检查权限:确保您的程序有足够的权限来绑定所需的端口。原创 2024-02-23 17:29:20 · 3502 阅读 · 0 评论 -
本地TCP通讯(C++)
利用TCP技术,实现本地ROS1和ROS2的通讯。原创 2024-02-20 09:44:43 · 1022 阅读 · 0 评论 -
多机TCP通讯之hello world(C++)
TCP(传输控制协议)是一种在计算机网络中广泛使用的协议,它提供了可靠的、面向连接的数据传输服务。TCP 是 OSI 模型中的传输层协议,它确保了数据的可靠性、顺序性和流控制。连接的建立和终止都需要一些握手和挥手的过程,以确保双方都已准备好进行通信。它使用确认机制,确保数据的每个部分都已被成功接收,如果数据在传输中出现错误或丢失,TCP 将负责重新传输。即使在网络中出现乱序的情况,TCP 会重新排序数据,以确保按照正确的顺序进行处理。连接的建立和释放过程中包含握手和挥手的步骤,以确保通信的可靠性和一致性。原创 2024-01-10 19:40:52 · 1292 阅读 · 0 评论 -
MQTT在Ubuntu下的示例代码
MQTT在Ubuntu下的示例代码原创 2022-11-07 20:06:23 · 363 阅读 · 0 评论 -
2.4 MQTT遗嘱
在之前的课程里,我们学习了MQTT协议的心跳机制。该机制可以让服务端随时掌握客户端连接情况。当客户端“心跳”正常时,服务端即知道客户端仍然在线(活着)。当心跳一旦停止,服务端就会发现该客户端已经断线(死亡)。为了让客户端可以更好的发挥作用,便于服务端管理,MQTT协议允许客户端在“活着”的时候就写好遗嘱,这样一旦客户端意外断线,服务端就可以将客户端的遗嘱公之于众。原创 2022-11-04 14:28:06 · 262 阅读 · 0 评论 -
2.3 心跳机制
简而言之,客户端在心跳间隔时间内,如果有消息发布,那就直接发布消息而不发布心跳请求,但是在心跳间隔时间内,客户端没有消息发布,那么它就会发布一条心跳请求给服务端,这个心跳请求的目的就是为了告诉服务端,我还在线,你放心吧。但是这里存在一个问题。光是客户端知道心跳时间间隔还不够,服务端也需要知道客户端的心跳时间间隔,这样服务端才能定时检查客户端的心跳请求消息。我们本节课刚开始的时候曾给大家介绍过,如果客户端在心跳时间间隔内发布了消息给服务端,那么服务端不需要客户端发送心跳请求也可以确定该客户端肯定在线。原创 2022-11-04 14:03:18 · 413 阅读 · 0 评论 -
2.2 保留消息
保留消息”是十分重要的MQTT概念。通过“保留消息”这一名称不难判断,“保留消息”是一种被保留下来的消息。但是这个“保留消息”为何要被保留?而保留消息又是有什么特殊的用途?这些答案我们将在本节课揭晓。原创 2022-11-04 13:51:04 · 135 阅读 · 0 评论 -
2.1 QoS 服务质量等级
在之前的课程里我们提到过,一个物联网系统中有些信息非常重要,我们需要确保这类重要信息可以准确无误的发送和接收,而有些信息则相对不那么重要,这类信息如果在传输中丢失不会影响系统的运行。MQTT服务质量(Quality of Service 缩写 QoS)正是用于告知物联网系统,哪些信息是重要信息需要准确无误的传输,而哪些信息不那么重要,即使丢失也没有问题。QoS = 0 – 最多发一次QoS = 1 – 最少发一次QoS = 2 – 保证收一次。原创 2022-11-04 11:57:57 · 430 阅读 · 0 评论 -
1.5 MQTT主题进阶
MQTT是一种轻量级的通讯协议,它常用于网络带宽受限的环境,因此我们应尽量让主题简洁明了,从而让设备间交互的内容更加简洁,以更好的适应网络带宽受限的环境。多级通配符可以代替多级主题信息,因此无论”home/sensor”后面有一级还是多级主题,都可以被订阅了”home/sensor/#”的客户端接收到。我们可以看到,在home后面的级别中,由于客户端订阅的主题使用了+ 单级通配符,因此无论home级别后面的内容是什么,客户端都能收到这些主题的信息。当客户端订阅主题时,可以使用通配符同时订阅多个主题。原创 2022-11-04 11:18:00 · 341 阅读 · 0 评论 -
1.4 发布、订阅和取消订阅
在之前的课程里,我们学习了如何使用MQTT客户端连接MQTT服务端。在这节课里,我们学习客户端如何实现发布消息、订阅主题以及取消订阅主题。原创 2022-11-04 10:41:18 · 597 阅读 · 0 评论 -
1.3 连接MQTT服务端
MQTT客户端之间要想实现通讯,必须要通过MQTT服务端。因此MQTT客户端无论是发布消息还是订阅消息,首先都要连接MQTT服务端。下面我们看一下MQTT客户端连接服务端的详细过程。MQTT客户端连接服务端一共有两步。原创 2022-11-04 09:34:32 · 1234 阅读 · 0 评论 -
1.2MQTT基本原理
在MQTT协议通讯中,有两个最为重要的角色。它们分别是服务端和客户端。首先我们来初步了解一下它们。原创 2022-11-04 09:17:08 · 427 阅读 · 0 评论 -
1.1 MQTT是什么
MQTT是一个客户端服务端架构的发布/订阅模式的消息传输协议。它的设计思想是轻巧、开放、简单、规范,易于实现。这些特点使得它对很多场景来说都是很好的选择,特别是对于受限的环境如机器与机器的通信(M2M)以及物联网环境(IoT)。——MQTT协议规范中文版以上MQTT(消息队列遥测传输)协议规范中的介绍很好地描述了MQTT的全部含义。它是一种很轻的通讯协议。与HTTP之类的协议相比,MQTT在通过网络传输数据时表现出众。该协议的另一个重要特点是易于在客户端实现。原创 2022-11-03 17:09:40 · 153 阅读 · 0 评论