2013-04-16 31 views
23

Chúng tôi đang xem xét việc sử dụng MQTT làm giao thức nhắn tin trên một thiết bị mới mà chúng tôi đang xây dựng. Chúng tôi cũng muốn có giao diện web cho thiết bị. Có ai biết nếu bạn có thể thực hiện một ứng dụng trình duyệt của khách hàng (không có bổ sung bổ sung) mà nói MQTT?Trình duyệt web có thể sử dụng MQTT không?

+3

Có, sử dụng ổ cắm web: http://mqtt.org/wiki/doku.php/mqtt_over_websockets –

+0

Cảm ơn bạn đã biết thông tin. Vì vậy, loại máy chủ web nào cần thiết để hỗ trợ websockets? Chúng tôi sử dụng Apache 2 hiện tại. –

+1

Bạn sẽ làm việc như thế nào với không có bộ nhớ ngoại tuyến. – user2223032

Trả lời

14

Có, như đã đề cập trong bình luận của Steve-o MQTT thông qua websockets là rất có thể.

Có 2 lựa chọn tại thời điểm

  1. MQ IBM 7,5 đi kèm với hỗ trợ WebSockets, bạn có thể tìm thấy chi tiết here.
  2. Môi giới Mosquitto có trình khách javascript với ví dụ chạy here.

Để trả lời câu hỏi thứ hai lighttpd của bạn có mô-đun ổ cắm web có thể được sử dụng để chuyển tiếp đến nhà môi giới hiện có với các chi tiết here.

Tôi không thể tìm thấy bất kỳ thứ gì cho Apache không cần bạn viết thư viện của riêng bạn để thực hiện chuyển tiếp.

+4

Liên kết sau cho biết nó xử lý MQTT và WebSockets cho Apache: https://github.com/willem4ever/mod_websocket_mosquitto Tôi đã không sử dụng nó bản thân mình và nghĩ rằng đó là một sự xấu hổ nó không phải là một giải pháp tổng quát hơn như mô-đun lighttpd, nhưng có bạn đi! – ralight

+0

Tôi có thể thiết lập Mosquitto môi giới tại địa phương, hỗ trợ giao tiếp ổ cắm web? – rns

+0

Câu hỏi này (và hầu hết các câu trả lời) đều trên 3 tuổi. Mọi thứ đã chuyển động đáng kể. Có từ phiên bản 1.4 trở đi Mosquitto cũng có thể được xây dựng với sự hỗ trợ Websocket – hardillb

10

Để mở rộng câu trả lời hardillbs:

Có một lựa chọn thứ ba bây giờ:

HiveMQ hỗ trợ WebSockets mẹ đẻ mà không cần bất kỳ máy chủ web bên ngoài. Nó hoạt động hoàn hảo với ứng dụng Javascript của Eclipse Paho.

Nếu bạn muốn thử nó ra, công chúng MQTTDashboard (trong đó sử dụng HiveMQ dưới mũ trùm) hỗ trợ WebSockets trên cổng 8000.

Tiết lộ: Tôi là một trong những nhà phát triển của HiveMQ

+0

HiveMQ có hỗ trợ kết nối WSS không? – Pritam

+0

Có, nó hỗ trợ WSS. Xem tài liệu tại đây: http://www.hivemq.com/docs/hivemq/2.3.1/#hivemqdocs_secure_websockets –

+0

Cổng 'nào' để kết nối? – Pritam

3

Chúng tôi đã có trải nghiệm tốt khi sử dụng WSS, WebSocket tới Cổng TCP (dành cho MQTT). Nó có nghĩa là chạy một tiến trình riêng biệt, nhưng điều đó không tránh phải thay đổi cấu hình của Apache. WSS cũng có hỗ trợ cho TLS.

0

Tại sao không nodejs + socket.io? Họ đi kèm với tất cả các tiện ích bao gồm (webscokets, pub/sub, webserver, mqtt broker ...). SocketCluster là một điểm khởi đầu tốt khác.

Các vấn đề liên quan