Files
labs/02-mqtt5/lab01/lab.txt
Thomas Kruse 8fdf5827e4 Add labs
2026-02-03 22:29:46 +01:00

47 lines
1.6 KiB
Plaintext

= Session Expiration
Subscriben Sie mit `mosquitto_sub` als MQTT 5 Client (`-V 5`) mit fester ID, QoS 1, ohne Clean-Session und 10 Sekunden Expiration (`-x 10`) das Topic `demo/session`
Beenden Sie den Subscriber, beobachten Sie die mosquitto Logausgabe.
("p"rotokoll version, "c"lean session, "k"eepalive)
$ docker run --rm -it --net host eclipse-mosquitto \
mosquitto_sub --topic demo/session -V 5 --id demo --qos 1 --disable-clean-session -x 10
CTRL-C
Publishen Sie eine QoS 1 Nachricht auf das Topic.
$ docker run --rm -it --net host eclipse-mosquitto \
mosquitto_pub --topic "demo/session" --qos 1 --message "Demo message"
Starten Sie den Subscriber neu
$ docker run --rm -it --net host eclipse-mosquitto \
mosquitto_sub --topic demo/session -V 5 --id demo --qos 1 --disable-clean-session -x 10
Wiederholen Sie den Vorgang, warten jedoch weniger als 10 Sekunden.
$ docker run --rm -it --net host eclipse-mosquitto \
mosquitto_sub --topic demo/session -V 5 --id demo --qos 1 --disable-clean-session -x 10
CTRL-C
$ docker run --rm -it --net host eclipse-mosquitto \
mosquitto_pub --topic "demo/session" --qos 1 --message "Demo message"
$ docker run --rm -it --net host eclipse-mosquitto \
mosquitto_sub --topic demo/session -V 5 --id demo --qos 1 --disable-clean-session -x 10
Bonus: Untersuchen Sie mittels Netzwerkanalyse, wie `mosquitto_sub` sich verhält,
wenn keine Expiration Time, aber `--disable-clean-session` gesetzt ist.
$ sudo tshark -s 1500 -i lo -n -x -O mqtt port 1883
$ docker run --rm -it --net host eclipse-mosquitto \
mosquitto_sub --topic demo --id demo --qos 1 -V 5 --disable-clean-session