Mqtt &引用;“将信息”;这包括Mosquitto服务器';是时候了

Mqtt &引用;“将信息”;这包括Mosquitto服务器';是时候了,mqtt,mosquitto,Mqtt,Mosquitto,在MQTT中,“将消息”可以由客户端存储在服务器上。当同一客户机突然断开连接时,服务器将发布它们。为了便于调试,在“will消息”中包含日期和时间是有意义的 目前我正在使用Paho MQTT库,我定义了如下“will message”: let _dt = { date: () => { let _d = new Date(); let _dd = `${_d.toLocaleDateString("en-US")}`; return

在MQTT中,“将消息”可以由客户端存储在服务器上。当同一客户机突然断开连接时,服务器将发布它们。为了便于调试,在“will消息”中包含日期和时间是有意义的

目前我正在使用Paho MQTT库,我定义了如下“will message”:

let _dt = {
    date: () => {
        let _d = new Date();
        let _dd = `${_d.toLocaleDateString("en-US")}`;
        return _dd;
    }, 
    time: () => {
        let _d = new Date();
        let _dd = `${_d.getHours()}:${_d.getMinutes()}:${_d.getSeconds()}.${_d.getMilliseconds()}`;
        return _dd;
    },
}

let _will_message = new Paho.MQTT.Message(`Client "${_client_id}" disconnected abruptly ${_dt.date()} at ${_dt.time()}.`);
_will_message.destinationName = `/will_messages`;
_will_message.retained = true;
_will_message.qos = 2;
但这显然不是正确的方式,因为“will message”显示在客户端上创建对象
\u will\u message
的时间


是否有一种方法可以显示Disquite server实现客户端断开连接的时间,或者更好的方法,显示实际发生断开连接的时间(我们可能需要减去一些超时值)?

否,LWT消息的发布将与创建时的设置完全相同

您应该能够找到客户端何时与MOSQUITO日志断开连接

e、 g

1592604090: Socket error on client mosq-Za0gqtsXkazB5N8Ugt, disconnecting.
1592604238: New connection from 127.0.0.1 on port 1889.
1592604238: New client connected from 127.0.0.1 as mosq-SrUz3EXOh9Bc6huMni (p2, c1, k10).
1592604264: Client mosq-SrUz3EXOh9Bc6huMni has exceeded timeout, disconnecting.