Skip to content

MQTT Client (advanced)

GDevelop的MQTT客户端: 允许连接到MQTT服务器并发送/接收消息。

这个社区扩展的作者和贡献者arthuro555


此扩展包装了MQTT.js以允许连接到MQTT服务器并通过发布/订阅进行通信。唯一的传输方法是Websockets,请确保使用支持的代理服务器!

数据丢失

Dataloss允许您选择如何处理数据。由于GDevelop事件循环的特性,每帧只能处理一个主题的消息。当数据丢失打开时,在一帧中从一个主题接收2条消息时,只有最新的消息会被记住。关闭时,将处理第一条消息,并将第二条消息排队到下一帧。

QoS(服务质量)

以下是QoS的工作原理:

  • QoS 0(最多收到一次):数据包被发送,没有关于是否已接收到的验证。
  • QoSundefined(至少收到一次):数据包被发送并存储,直到客户端收到来自服务器的确认为止。 MQTT确保数据包被接收,但可能存在重复。
  • QoS 2(只收到一次):与QoSundefined相同,但不会产生重复。

关于数据消耗:QoS 2比QoSundefined的消耗更大,QoSundefined比QoS 0的消耗更大。

提示

学习按照逐步指南安装新扩展。

操作

连接到代理服务器 连接到MQTT代理服务器。

断开与代理服务器的连接 断开与当前MQTT代理服务器的连接。

发布消息 在主题上发布消息。

订阅主题 订阅主题。所有发布在该主题上的消息都将被接收。

取消订阅主题 取消订阅主题。将不再接收来自该主题的消息。

条件

是否已连接到代理服务器? 当客户端连接到MQTT代理服务器时触发。

当收到消息时 每当收到消息时触发。请注意,您首先需要订阅主题才能从中获取消息。

表达式

表达式

描述

MQTT::GetLastMessage(string)

获取主题的最后接收到的消息。

字符串

要获取消息的主题

MQTT::getCurrentError()

获取最后的错误。如果没有错误,则返回空字符串。


此页面是 MQTT Client (advanced) _扩展的自动生成参考页面,由GDevelop社区制作的开源、跨平台游戏引擎。