Difference between revisions of "WAMP"

From air
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...")
 
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

Extra

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();