47 lines
1.6 KiB
Plaintext
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
|