Theo thông số kỹ thuật , luôn luôn là khách hàng nên thiết lập kết nối với máy chủ.
Khách hàng:
Một chương trình hoặc thiết bị sử dụng MQTT. Máy khách luôn thiết lập Kết nối mạng với Máy chủ . Nó có thể
Xuất bản Tin nhắn ứng dụng mà các Khách hàng khác có thể quan tâm.
Đăng ký để yêu cầu Tin nhắn ứng dụng mà nó quan tâm để nhận được.
Hủy đăng ký để xóa yêu cầu cho Tin nhắn ứng dụng.
Ngắt kết nối với máy chủ.
Và nếu ứng dụng khách này đăng ký một Thông báo ứng dụng, thì máy chủ sẽ chuyển tiếp các tin nhắn đó đến ứng dụng khách cụ thể này.
Máy chủ:
Một chương trình hoặc thiết bị hoạt động như một trung gian giữa các Khách hàng xuất bản Tin nhắn ứng dụng và Khách hàng đã thực hiện Đăng ký. Một máy chủ
Chấp nhận kết nối mạng từ khách hàng.
Chấp nhận tin nhắn ứng dụng được xuất bản bởi khách hàng.
Quy trình Đăng ký và Hủy đăng ký yêu cầu từ Khách hàng.
Chuyển tiếp tin nhắn ứng dụng phù hợp với đăng ký của khách hàng .
Điều này có nghĩa là nếu một khách hàng đăng ký, thì nó vẫn được kết nối với máy chủ trong khi đăng ký hợp lệ mặc dù không có luồng dữ liệu trong hầu hết thời gian?
Tôi đi đến kết luận này bởi vì nếu máy khách ngắt kết nối sau khi đăng ký, thì máy chủ không thể chuyển tiếp tin nhắn đến nó vì đó là máy khách sẽ thiết lập kết nối. Nhưng nó sẽ không biết khi nào nên thiết lập lại nó.