annotate service/wallscreen/websocket.js @ 1147:ef494fe0499f

forgot devices_shared.py Ignore-this: 210e7777d9d4d11f148bb7e63f5de65a darcs-hash:8dd34afc9d00fe796f94da254519e22ca1fa7d03
author drewp <drewp@bigasterisk.com>
date Wed, 04 Apr 2018 14:58:27 -0700
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 }