annotate service/wallscreen/websocket.js @ 1133:114ca7fd9d01

IR remote rule Ignore-this: 901771de421a81129f2ddf4316af91d9 darcs-hash:a037a1bcf9631ac214fe1e61ff42fb00f25cb451
author drewp <drewp@bigasterisk.com>
date Sat, 03 Feb 2018 14:38:10 -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 }