annotate static/websocket.js @ 1041:a4632a7b2e17

upgrade knockout and jquery, simplify the static/ dirs for all web services Ignore-this: 8637b7b61cc5d38e8cf15bb1afd7466c
author Drew Perttula <drewp@bigasterisk.com>
date Wed, 28 May 2014 05:54:23 +0000
parents light9/rdfdb/web/websocket.js@6f984ce851e2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
813
6f984ce851e2 refactor rdfdb web ui
drewp@bigasterisk.com
parents:
diff changeset
1 function reconnectingWebSocket(url, onMessage) {
6f984ce851e2 refactor rdfdb web ui
drewp@bigasterisk.com
parents:
diff changeset
2 var pong = 0;
6f984ce851e2 refactor rdfdb web ui
drewp@bigasterisk.com
parents:
diff changeset
3 function connect() {
6f984ce851e2 refactor rdfdb web ui
drewp@bigasterisk.com
parents:
diff changeset
4 var ws = new WebSocket(url);
6f984ce851e2 refactor rdfdb web ui
drewp@bigasterisk.com
parents:
diff changeset
5
6f984ce851e2 refactor rdfdb web ui
drewp@bigasterisk.com
parents:
diff changeset
6 ws.onopen = function() { $("#status").text("connected"); };
6f984ce851e2 refactor rdfdb web ui
drewp@bigasterisk.com
parents:
diff changeset
7 ws.onerror = function(e) { $("#status").text("error: "+e); };
6f984ce851e2 refactor rdfdb web ui
drewp@bigasterisk.com
parents:
diff changeset
8 ws.onclose = function() {
6f984ce851e2 refactor rdfdb web ui
drewp@bigasterisk.com
parents:
diff changeset
9 pong = 1 - pong;
6f984ce851e2 refactor rdfdb web ui
drewp@bigasterisk.com
parents:
diff changeset
10 $("#status").text("disconnected (retrying "+(pong ? "😼":"😺")+")");
6f984ce851e2 refactor rdfdb web ui
drewp@bigasterisk.com
parents:
diff changeset
11 // this should be under a requestAnimationFrame to
6f984ce851e2 refactor rdfdb web ui
drewp@bigasterisk.com
parents:
diff changeset
12 // save resources
6f984ce851e2 refactor rdfdb web ui
drewp@bigasterisk.com
parents:
diff changeset
13 setTimeout(connect, 2000);
6f984ce851e2 refactor rdfdb web ui
drewp@bigasterisk.com
parents:
diff changeset
14 };
6f984ce851e2 refactor rdfdb web ui
drewp@bigasterisk.com
parents:
diff changeset
15 ws.onmessage = function (evt) {
6f984ce851e2 refactor rdfdb web ui
drewp@bigasterisk.com
parents:
diff changeset
16 onMessage(JSON.parse(evt.data));
6f984ce851e2 refactor rdfdb web ui
drewp@bigasterisk.com
parents:
diff changeset
17 };
6f984ce851e2 refactor rdfdb web ui
drewp@bigasterisk.com
parents:
diff changeset
18 }
6f984ce851e2 refactor rdfdb web ui
drewp@bigasterisk.com
parents:
diff changeset
19 connect();
6f984ce851e2 refactor rdfdb web ui
drewp@bigasterisk.com
parents:
diff changeset
20 }