Web Application Messaging Protocol: Difference between revisions

Content deleted Content added
Comparison: sortable
m very minor grammo
Line 9:
WAMP requires<ref>[http://crossbar.io/docs/Router-Transports/ Crossbar.io router transport ]</ref> a reliable, ordered, [[full-duplex]] message channel as a [[transport layer]], and by default uses Websocket. However, implementations can use other transports matching these characteristics and communicate with WAMP over e.g. raw sockets,<ref>{{cite web|url=https://github.com/tavendo/WAMP/issues/63|title=WAMP can run over Raw transports instead of WebSocket. Each message is prefixed with a uint32 (big endian) that provides the (serialized) length of the following WAMP message.}}</ref> [[Unix ___domain socket|Unix sockets]] or [[Push technology#Long polling|HTTP long poll]].
 
Message [[serialization]] assumes<ref>[https://github.com/tavendo/WAMP/blob/master/spec/basic.md#serializations WAMP serialization]</ref> integers, strings and ordered sequencessequence types are available, and defaults to [[JSON]] as the most common format offering these. Implementations often provide [[MessagePack]] as a faster alternative to JSON, but at the cost of an additional dependency.<ref>{{cite web|url=http://ksdaemon.github.io/wampy.js/#description|title=Wampy default serializer is JSON, but it also supports msgpack as serializer, but you need to include msgpack.js as dependency}}</ref>
 
To identify remote procedures and PubSub topics without conflicts, WAMP also needs an ID space allowing global assignment and resolution. Because the protocol is Web native - WebSocket being the preferred transport - [[Uniform resource identifier|URI]]s are used.