Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [paho-dev] MQTT <-> REST+websocket mapping

Just to note the latest android browser does support websockets. But that's on 4.x devices. With the majority still on 2.x, there is still a legacy issue.

N

On 20 Mar 2013 09:13, "Dave Locke" <locke@xxxxxxxxxx> wrote:
The MQTT _javascript_ client I mentioned aligns MQTT packets in a WebSocket frame. It was written with the design point of the  web browser being the point where MQTT is initiated from and the MQTT server has been enhanced to directly support websockts.. That said I can see the rationale when in the context of TCP <-> WebSocket mappers why not mandating alignment can be useful.

I'll update the wiki to include:
  • Reference RFC 6455.  The speed of adoption of this is pretty impressive.  Once the default browsers on all mainstream platforms support websockets the world is good.   With iOS, Windows Phone 8, Blackberry 10,  plus all main desktop platforms the default browsers are in good shape. The last mainstream one that does not support websockets in the default browser is Android. Chrome and Firefox can be loaded but tor mainstream adoption the default browser really needs  support it.
  • Discussion on frame alignment

All the best
Dave Locke

Senior Inventor, Pervasive and Advanced Messaging Technologies

locke@xxxxxxxxxx
Dave Locke/UK/IBM@ibmgb
7-246165 (int) +44 1962816165 (ext)
37274133 (mobex) +44 7764132584 (ext)

Fringe Bluepages with fuel injection
My Cattail: Share files in IBM and save your in-box


 



From:        Raphael Cohn <raphael.cohn@xxxxxxxxxxx>
To:        General development discussions for paho project <paho-dev@xxxxxxxxxxx>,
Date:        19/03/2013 16:11
Subject:        Re: [paho-dev] MQTT <-> REST+websocket mapping
Sent by:        paho-dev-bounces@xxxxxxxxxxx




There's one thing I'd like to add to the musts to maximise interop and adoption:-

- A MQTT WebSockets client should not assume that a MQTT packet is aligned with a WebSockets frame.
  - A WebSockets frame may contain either part of a MQTT packet, or more than one MQTT packets, the final one which may also be partial

The reason for this is it enables folks to simply put one of the many TCP <=> WebSockets gateways / mappers / proxies in front of an existing broker / client / whatever and just make things work. This has come out of real dev work here at stormmq (BTW, we don't use a generic gateway, but it's a great way to get mileage out of existing infrastructure). If this must isn't included, then (a) naive clients come into being or (b) a W/S gateway has to be able to parse the TCP stream and know about MQTT packets - not good for several reasons.

Actually, can we add another 'must' (fairly obvious):-

- It must reference RFC 6455. Give it a year and the need for legacy support will have nearly disappeared.

I don't have edit rights, but it you like the suggestion...

Raphael Cohn
Chief Architect, stormmq

Secretary, OASIS AMQP Standard
raphael.cohn@xxxxxxxxxxx
+44 7590 675 756

UK Office:
Hamblethorpe Farm, Crag Lane, Bradley BD20 9DB, North Yorkshire, United Kingdom
Telephone: +44 845 3712 567

Registered office:

16 Anchor Street, Chelmsford, Essex, CM2 0JY, United Kingdom

StormMQ Limited is Registered in England and Wales under Company Number 07175657
StormMQ.com



On 19 March 2013 15:38, Dave Locke <locke@xxxxxxxxxx> wrote:
The MQTT _javascript_ client referred to in Leif's blog post implements the MQTT specification over  WebSockets. It is a full implementation of the MQTT spec (binary format not JSON) and works in modern web browsers that support RFC 6455. This is something that IBM are happy to contribute to Paho extending the set of MQTT client libraries / language bindings.

It follows the the same approach as the  WebSocket client in Mosquitto.  There are a few design points that MQTT over WebSockets clients and servers need to be consistent on in order for different implementations to be inter-operable. These are captured on the wiki entry here:
http://wiki.eclipse.org/Paho/Paho_Websockets    This is something that should be fed into the MQTT OASIS standards process.

All the best
Dave

 



From:        
"andypiperuk@xxxxxxxxx" <andypiperuk@xxxxxxxxx>
To:        General development discussions for paho project <paho-dev@xxxxxxxxxxx>,
Date:        19/03/2013 14:26
Subject:        Re: [paho-dev] MQTT <-> REST+websocket mapping
Sent by:        
paho-dev-bounces@xxxxxxxxxxx




Additionally, it seems that IBM is formally adding support for MQTT over websockets to WebSphere MQ (per http://leifdavidsen.wordpress.com/2013/03/19/133/) in a forthcoming fix pack. Not clear if this / the specification for this will be open or not though. 

On Tue, Mar 19, 2013 at 12:56 AM,
andypiperuk@xxxxxxxxx <andypiperuk@xxxxxxxxx> wrote:

On Mon, Mar 18, 2013 at 6:50 PM, Matteo Collina <
hello@xxxxxxxxxxxxxxxxx> wrote:
You and all the others convinced me.  So, mqtt over websocket is definitely the way to go.
I plan to start crafting something on GitHub on this issue.

So the main discussion on MQTT and WebSockets has so far been around mosquitto and the IBM implementations - do pay attention to the Paho wiki page that Nick linked to, and feel free to discuss here further in an additional thread if appropriate.

Keen to ensure that the solution is something that we can all agree on (and it does sound like we are moving in this direction!)



--
Andy Piper | Farnborough, Hampshire (UK)
blog:
http://andypiper.co.uk   |   skype: andypiperuk
twitter: @andypiper  |  images:
http://www.flickr.com/photos/andypiper



--
Andy Piper | Farnborough, Hampshire (UK)
blog:
http://andypiper.co.uk
  |   skype: andypiperuk
twitter: @andypiper  |  images:
http://www.flickr.com/photos/andypiper _______________________________________________
paho-dev mailing list

paho-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/paho-dev


Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU


_______________________________________________
paho-dev mailing list

paho-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/paho-dev

_______________________________________________
paho-dev mailing list
paho-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/paho-dev


Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU


_______________________________________________
paho-dev mailing list
paho-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/paho-dev


Back to the top