Giá trị của MQTT qua WebSocket so với MQTT trực tiếp là gì?MQTT trực tiếp vs MQTT qua WebSocket
Tôi đang xem xét sử dụng MQTT trong dự án của mình và vì vậy tôi muốn biết tại sao một số người chọn MQTT trên WebSocket thay vì MQTT trực tiếp.
Giá trị của MQTT qua WebSocket so với MQTT trực tiếp là gì?MQTT trực tiếp vs MQTT qua WebSocket
Tôi đang xem xét sử dụng MQTT trong dự án của mình và vì vậy tôi muốn biết tại sao một số người chọn MQTT trên WebSocket thay vì MQTT trực tiếp.
Bạn chỉ cần chạy MQTT trên websockets nếu bạn định xuất bản/đăng ký thư ngay từ trong ứng dụng web (trong trang).
Về cơ bản tôi sẽ chạy MQTT thuần túy cho mọi thứ và chỉ thêm các ổ cắm web nếu bạn thực sự cần nó.
Đối với tất cả ngôn ngữ trình duyệt không có thư viện máy khách MQTT chỉ sử dụng MQTT gốc. Đối với Javascript, có cả thư viện MQTT thuần túy và Paho trong thư viện trang sử dụng các websockets.
MQTT trên websockets là hoàn hảo nếu bao giờ một trang web nhất định là khách hàng gửi hoặc nhận MQTT.
Một bản tóm tắt tốt về khả năng của MQTT trên websockets có thể được tìm thấy here.
Có hai lý do chính để sử dụng MQTT qua Websockets (mà hiệu quả có nghĩa là đi qua HTTP/HTTPS):
Nếu bạn làm không cần hoặc lo lắng về việc trên, sử dụng "trực tiếp" MQTT:
MQTT là một giao thức hỗ trợ sau đây:
Tùy thuộc vào thiết bị có sẵn triển khai.
Trình duyệt: Nó sử dụng ổ cắm web. Websocket cung cấp cho trình duyệt khả năng thiết lập giao tiếp song công hoàn chỉnh. Có thư viện Javascript để triển khai chức năng MQTT, xem Eclipse Paho JavaScript Client
Android: Thư viện khách của MQTT được viết bằng Java để phát triển ứng dụng trên Android.Xem Eclipse Paho Android Service
Vì vậy, tùy thuộc vào thiết bị sẽ sử dụng chức năng này. Để biết các tiêu chuẩn và thông số kỹ thuật, vui lòng truy cập MQTT Version 3.1.1
Hy vọng điều này sẽ hữu ích.
Chúc mừng!
MQTT trên ổ cắm web cũng hữu ích nếu ứng dụng đang chạy phía sau tường lửa chỉ cho phép lưu lượng 443 và 80. Và, bạn không có quyền kiểm soát các chính sách của tường lửa.
Với MQTT trên websockets, mọi trình duyệt có thể là thiết bị MQTT.
Do mô hình xuất bản/đăng ký của MQTT, bạn sẽ có được thời gian thực đẩy đến trình duyệt khi một sự kiện - theo nghĩa đen ở mọi nơi trên thế giới - xảy ra, miễn là bạn đăng ký đúng chủ đề.
Trong trường hợp MQTT qua WebSockets, kết nối ổ cắm web tạo thành một đường ống ngoài cho giao thức MQTT. Máy chủ/môi giới đặt gói MQTT vào một gói websockets và gửi nó đến máy khách/máy chủ. Máy khách/máy chủ giải nén gói MQTT từ gói websockets và sau đó xử lý nó như một gói MQTT bình thường.
Hơn nữa, nó có ảnh hưởng lớn đến internet của sự vật. Vui lòng đọc các tài liệu sau đây để biết thêm chi tiết.
Nói "mà hiệu quả có nghĩa là đi qua HTTP/HTTPS" là không hoàn toàn đúng. Websockets là thuận lợi bởi vì về cơ bản họ không sử dụng HTTP/HTTPS và chi phí được ngụ ý. Có một đọc qua (HTML5 WebSocket: Một bước nhảy vọt lượng tử trong khả năng mở rộng cho Web) [http://websocket.org/quantum.html] cho tất cả các chi tiết. – Sean