annotate service/wallscreen/websocket.js @ 61:1afb0564636d

use websockets for temperature update Ignore-this: 558ad53cf5b4b0c013041db555fbb458
author drewp@bigasterisk.com
date Sun, 10 Feb 2013 13:41:35 -0800
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
61
1afb0564636d use websockets for temperature update
drewp@bigasterisk.com
parents:
diff changeset
1 // from the light9/rdfdb one
1afb0564636d use websockets for temperature update
drewp@bigasterisk.com
parents:
diff changeset
2
1afb0564636d use websockets for temperature update
drewp@bigasterisk.com
parents:
diff changeset
3 function reconnectingWebSocket(url, onMessage) {
1afb0564636d use websockets for temperature update
drewp@bigasterisk.com
parents:
diff changeset
4 var pong = 0;
1afb0564636d use websockets for temperature update
drewp@bigasterisk.com
parents:
diff changeset
5 function connect() {
1afb0564636d use websockets for temperature update
drewp@bigasterisk.com
parents:
diff changeset
6 var ws = new WebSocket(url);
1afb0564636d use websockets for temperature update
drewp@bigasterisk.com
parents:
diff changeset
7
1afb0564636d use websockets for temperature update
drewp@bigasterisk.com
parents:
diff changeset
8 ws.onopen = function() { $("#status").text(""); };
1afb0564636d use websockets for temperature update
drewp@bigasterisk.com
parents:
diff changeset
9 ws.onerror = function(e) { $("#status").text("error: "+e); };
1afb0564636d use websockets for temperature update
drewp@bigasterisk.com
parents:
diff changeset
10 ws.onclose = function() {
1afb0564636d use websockets for temperature update
drewp@bigasterisk.com
parents:
diff changeset
11 pong = 1 - pong;
1afb0564636d use websockets for temperature update
drewp@bigasterisk.com
parents:
diff changeset
12 $("#status").text("disconnected (retrying "+(pong ? "😼":"😺")+")");
1afb0564636d use websockets for temperature update
drewp@bigasterisk.com
parents:
diff changeset
13 setTimeout(connect, 2000);
1afb0564636d use websockets for temperature update
drewp@bigasterisk.com
parents:
diff changeset
14 };
1afb0564636d use websockets for temperature update
drewp@bigasterisk.com
parents:
diff changeset
15 ws.onmessage = function (evt) {
1afb0564636d use websockets for temperature update
drewp@bigasterisk.com
parents:
diff changeset
16 onMessage(JSON.parse(evt.data));
1afb0564636d use websockets for temperature update
drewp@bigasterisk.com
parents:
diff changeset
17 };
1afb0564636d use websockets for temperature update
drewp@bigasterisk.com
parents:
diff changeset
18 }
1afb0564636d use websockets for temperature update
drewp@bigasterisk.com
parents:
diff changeset
19 connect();
1afb0564636d use websockets for temperature update
drewp@bigasterisk.com
parents:
diff changeset
20 }