QOS0
ส่งข้อมูลไปครั้งเดียว ไม่มีการเช็ค PUBACK พอส่งแล้วก็นำข้อมูลออกจาก message queue
QSO1
การันตีว่าส่งอย่างน้อย 1 ครั้ง คือจะมีการเช็ค PUBACK คือตอนแรกทำการส่งข้อมูลไป จากนั้นรอจนกว่าจะรับ PUBACK ถ้ารอจนครบเวลาแล้วก็จะส่งข้อมูลไปใหม่ซ้ำๆ ถ้าได้รับ PUBACK แล้วถึงจะหยุดส่งข้อมูลนั้นแล้วนำข้อมูลออกจาก message queue
QOS2
การันตีว่าส่งข้อมูลครั้งเดียว แบ่งเป็น step ดังนี้
- ส่งข้อมูลไปแล้วรอ PUBRAC ถ้ายังไม่ได้ก็วนซ้ำส่งข้อมูลไปโดยตั้งค่า DUP flag ไปด้วยเพื่อให้รู้ว่าเป็นข้อมูลที่ถูกส่งซ้ำ
- ถ้าได้ PUBREC แล้วก็จะทำการส่ง PUBREL ทางฝั่งผู้รับจะรอ PUBREL จากผู้ส่ง ถ้ายังไม่มาสักทีก็จะส่ง PUBREC ให้ผู้ส่งไปเรื่อยๆ
- เมื่อผู้รับได้รับ PUBRAL ข้อมูลก็จะถูกส่งไปให้ Subscriber ได้
- ผู้รับทำการส่ง PUBCOM กลับยังผู้ส่ง ถ้าผู้ส่งยังไม่ได้รับสักทีจะวนซ้ำส่ง PUBREL ทันทีที่ผู้ส่งได้รับ PUBCOM ก็จะทำการลบข้อมูลออกจาก message queue
QOS publish กับ QOS subscribe จะมี QOS overall เท่ากับ QOS ของฝั่งที่น้อยกว่า
Next
« Prev Post
« Prev Post
Previous
Next Post »
Next Post »
สมัครสมาชิก:
ส่งความคิดเห็น
(
Atom
)
Emoticon Emoticon