Difference between revisions of "WAMP"
Jump to navigation
Jump to search
(Created page with "WAMP (Web Application Messaging Protocol) is an open WebSocket subprotocol that provides two application messaging patterns in one unified protocol: [[Remote Procedure Cal...") |
(→Extra) |
||
Line 7: | Line 7: | ||
==Extra== |
==Extra== |
||
* WAMP with Arduino Yun http://tavendo.com/blog/post/arduino-yun-with-autobahn/ |
* WAMP with Arduino Yun http://tavendo.com/blog/post/arduino-yun-with-autobahn/ |
||
+ | |||
+ | ==[[Node.js]]== |
||
+ | |||
+ | <pre> |
||
+ | var connection = new autobahn.Connection({ |
||
+ | url: 'ws://127.0.0.1:9000/', |
||
+ | realm: 'realm1' |
||
+ | }); |
||
+ | |||
+ | connection.onopen = function (session) { |
||
+ | |||
+ | // 1) subscribe to a topic |
||
+ | function onevent(args) { |
||
+ | console.log("Event:", args[0]); |
||
+ | } |
||
+ | session.subscribe('com.myapp.hello', onevent); |
||
+ | |||
+ | // 2) publish an event |
||
+ | session.publish('com.myapp.hello', ['Hello, world!']); |
||
+ | |||
+ | // 3) register a procedure for remoting |
||
+ | function add2(args) { |
||
+ | return args[0] + args[1]; |
||
+ | } |
||
+ | session.register('com.myapp.add2', add2); |
||
+ | |||
+ | // 4) call a remote procedure |
||
+ | session.call('com.myapp.add2', [2, 3]).then( |
||
+ | function (res) { |
||
+ | console.log("Result:", res); |
||
+ | } |
||
+ | ); |
||
+ | }; |
||
+ | |||
+ | connection.open(); |
||
+ | </pre> |
Revision as of 23:07, 16 November 2014
WAMP (Web Application Messaging Protocol) is an open WebSocket subprotocol that provides two application messaging patterns in one unified protocol: Remote Procedure Calls + Publish-Subscribe
- http://wamp.ws/spec/
- https://github.com/tavendo/WAMP/blob/master/spec/basic.md
- https://github.com/tavendo/WAMP/blob/master/spec/advanced.md
Extra
- WAMP with Arduino Yun http://tavendo.com/blog/post/arduino-yun-with-autobahn/
Node.js
var connection = new autobahn.Connection({ url: 'ws://127.0.0.1:9000/', realm: 'realm1' }); connection.onopen = function (session) { // 1) subscribe to a topic function onevent(args) { console.log("Event:", args[0]); } session.subscribe('com.myapp.hello', onevent); // 2) publish an event session.publish('com.myapp.hello', ['Hello, world!']); // 3) register a procedure for remoting function add2(args) { return args[0] + args[1]; } session.register('com.myapp.add2', add2); // 4) call a remote procedure session.call('com.myapp.add2', [2, 3]).then( function (res) { console.log("Result:", res); } ); }; connection.open();