Mercurial > code > home > repos > homeauto
annotate service/wallscreen/websocket.js @ 981:d9bbbd8d86f6
arduinoNode: use -v for logging; support a PUT with subj+pred in query, obj in body
Ignore-this: 744c3c7d95655430b8ec547e56f6b4bc
darcs-hash:20150514082612-312f9-f77a103ef67321aa5a0ffd7991b92befd5dac37f
author | drewp <drewp@bigasterisk.com> |
---|---|
date | Thu, 14 May 2015 01:26:12 -0700 |
parents | a99b4d5afb83 |
children |
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 } |