feat: Implement structured MQTT messages with separate username and message

This commit refactors the chat application to transmit MQTT messages using a structured JSON format.
The  struct, leveraging , now encapsulates both the username and the message content, allowing them to be sent and received as distinct fields.

Key changes include:
- Added  and  dependencies to .
- Defined a  struct with  and  fields.
- Modified message publishing to serialize  instances to JSON.
- Updated message receiving to deserialize JSON payloads into  instances.
- Adjusted internal message storage and display logic to handle the separate username and message components.
- Ensured the connect message also uses the new structured format.
This commit is contained in:
2025-07-14 15:21:11 -04:00
parent b0f8e535d2
commit 549070d3e9
3 changed files with 82 additions and 15 deletions

View File

@@ -10,3 +10,5 @@ rumqttc = "0.24.0"
tokio = { version = "1.38.0", features = ["full"] }
tokio-stream = "0.1.15"
rand = "0.8.5"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"