1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
<!doctype html>
<html>
<body>
<h1>Subscribe upon Call</h1>
<p>Open JavaScript console to watch output.</p>
<script src="/autobahn.min.js"></script>
<button onclick="do_call()">Call Backend, triggering subscribe</button>
<script>
var connection = new autobahn.Connection({
url: "ws://127.0.0.1:8080/ws",
realm: 'realm1'
});
var session = null;
function do_call() {
if (session) {
session.call("com.example.triggersubscribe").then(
function () {
console.log("ok");
},
function (err) {
console.log(err);
}
);
} else {
console.log("not connected");
}
}
var timer = null;
connection.onopen = function (new_session) {
console.log("connected");
session = new_session;
var counter = 0;
timer = setInterval(function () {
console.log("publishing to topic 'com.example.topic1': " + counter);
session.publish('com.example.topic1', [counter]);
counter += 1;
}, 1000);
};
connection.onclose = function (reason, details) {
console.log("connection lost", reason, details);
session = null;
clearInterval(timer);
timer = null;
}
connection.open();
</script>
</body>
</html>
|