annotate service/wallscreen/websocket.js @ 1136:1e43ec4a5f23

build and import updates for rdfdb, etc Ignore-this: 233cb2b31f03be51695f0fff40eecca7 darcs-hash:92c1c526292f9013ad41d2e3b6d11add8fff02ae
author drewp <drewp@bigasterisk.com>
date Mon, 19 Feb 2018 04:21:28 -0800
parents a99b4d5afb83
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
866
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
1 // from the light9/rdfdb one
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
2
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
3 function reconnectingWebSocket(url, onMessage) {
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
4 var pong = 0;
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
5 function connect() {
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
6 var ws = new WebSocket(url);
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
7
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
8 ws.onopen = function() { $("#status").text(""); };
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
9 ws.onerror = function(e) { $("#status").text("error: "+e); };
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
10 ws.onclose = function() {
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
11 pong = 1 - pong;
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
12 $("#status").text("disconnected (retrying "+(pong ? "😼":"😺")+")");
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
13 setTimeout(connect, 2000);
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
14 };
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
15 ws.onmessage = function (evt) {
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
16 onMessage(JSON.parse(evt.data));
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
17 };
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
18 }
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
19 connect();
a99b4d5afb83 use websockets for temperature update
drewp <drewp@bigasterisk.com>
parents:
diff changeset
20 }