บทความ

ไม่ว่าจะ ข่าวสาร บทสัมภาษณ์ และ Digital Skill บนสื่อ
มีให้คุณได้อ่านบทความดี ๆ มากมายแล้วที่นี่

มารู้จัก MQTT Protocol กันดีกว่า (ตอนที่ 4)

มารู้จัก MQTT Protocol กันดีกว่า (ตอนที่ 4)

Message ที่ถูก Publish ใน MQTT จะไม่สามารถทราบได้ว่า Client ที่ Subscribe ไว้นั้น จะได้รับ Message หรือไม่ แต่ Client ที่เป็น Publisher นี้ รู้แน่นอนว่า Message ถูกส่งไปให้ Broker ได้ถูกรับเรียบร้อยแล้ว เช่นเดียวกัน Client ที่เป็น Subscriber เอง ก็ไม่สามารถจะรู้ได้ว่า Publisher จะส่ง Message มาให้เมื่อไหร่ (เพราะ Client จะไม่สามารถติดต่อกันได้โดยตรงค่ะ ต้องมี Broker มาคั่นกลาง) ซึ่งอาจจะแค่ไม่กี่วินาที หรือ อาจจะนานหลายชั่วโมง จึงมีการนำ Retained Message เข้ามาช่วยแก้ปัญหานี้ค่ะ


Retained Message ก็คือ MQTT Message นี่แหละค่ะ แต่ว่าจะถูก Publish มาพร้อมค่า retainFlag ที่ตั้งว่าไว้เป็น True ค่ะ ซึ่ง Broker จะทำการเก็บ payload และ QoS ของ Message สำหรับ Topic นี้ไว้ แล้วถ้ามี Client เข้ามาทำการ Subscribe ตรงกับ Topic ที่มี Retained Message เก็บไว้ Broker ก็จะส่ง Message นี้ ให้ Client โดยทันทีค่ะ ซึ่งในแต่ละ Topic นั้น Broker จะทำการเก็บ Retained Message ไว้แค่ค่าสุดท้ายค่าเดียวนะคะ

Laris | IoT

02/05/2019