view static/websocket.js @ 1097:f7618f29bb89

rewrite CurveSet. remove sliders support from curvecalc. curve edits now write quickly to the graph. Ignore-this: d0338e3a21636d992958594e878962e
author Drew Perttula <drewp@bigasterisk.com>
date Mon, 09 Jun 2014 03:05:32 +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();
}