Mercurial > code > home > repos > light9
view static/websocket.js @ 1100:1583e997fe0e
pull EffectLoop to another module
Ignore-this: 6880f3f0b2aed3107c871296ad6cfbb9
author | Drew Perttula <drewp@bigasterisk.com> |
---|---|
date | Mon, 09 Jun 2014 03:55:50 +0000 |
parents | a4632a7b2e17 |
children |
line wrap: on
line source
function reconnectingWebSocket(url, onMessage) { var pong = 0; function connect() { var ws = new WebSocket(url); ws.onopen = function() { $("#status").text("connected"); }; ws.onerror = function(e) { $("#status").text("error: "+e); }; ws.onclose = function() { pong = 1 - pong; $("#status").text("disconnected (retrying "+(pong ? "😼":"😺")+")"); // this should be under a requestAnimationFrame to // save resources setTimeout(connect, 2000); }; ws.onmessage = function (evt) { onMessage(JSON.parse(evt.data)); }; } connect(); }