@ -5,16 +5,21 @@ var Conn = (function() {
var pingIv ;
var pingIv ;
var xoff = false ;
var xoff = false ;
var autoXoffTout ;
var autoXoffTout ;
var reconTout ;
var pageShown = false ;
function onOpen ( evt ) {
function onOpen ( evt ) {
console . log ( "CONNECTED" ) ;
console . log ( "CONNECTED" ) ;
doSend ( "i" ) ;
}
}
function onClose ( evt ) {
function onClose ( evt ) {
console . warn ( "SOCKET CLOSED, code " + evt . code + ". Reconnecting..." ) ;
console . warn ( "SOCKET CLOSED, code " + evt . code + ". Reconnecting..." ) ;
setTimeout ( function ( ) {
clearTimeout ( reconTout ) ;
reconTout = setTimeout ( function ( ) {
init ( ) ;
init ( ) ;
} , 200 ) ;
} , 20 00 ) ;
// this happens when the buffer gets fucked up via invalid unicode.
// this happens when the buffer gets fucked up via invalid unicode.
// we basically use polling instead of socket then
// we basically use polling instead of socket then
}
}
@ -27,12 +32,18 @@ var Conn = (function() {
case 'T' :
case 'T' :
case 'S' :
case 'S' :
Screen . load ( evt . data ) ;
Screen . load ( evt . data ) ;
if ( ! pageShown ) {
showPage ( ) ;
pageShown = true ;
}
break ;
break ;
case '-' :
case '-' :
//console.log('xoff');
//console.log('xoff');
xoff = true ;
xoff = true ;
autoXoffTout = setTimeout ( function ( ) { xoff = false ; } , 250 ) ;
autoXoffTout = setTimeout ( function ( ) {
xoff = false ;
} , 250 ) ;
break ;
break ;
case '+' :
case '+' :
@ -81,24 +92,16 @@ var Conn = (function() {
showPage ( ) ;
showPage ( ) ;
return ;
return ;
}
}
heartbeat ( ) ;
clearTimeout ( reconTout ) ;
clearTimeout ( heartbeatTout ) ;
ws = new WebSocket ( "ws://" + _root + "/term/update.ws" ) ;
ws = new WebSocket ( "ws://" + _root + "/term/update.ws" ) ;
ws . onopen = onOpen ;
ws . onopen = onOpen ;
ws . onclose = onClose ;
ws . onclose = onClose ;
ws . onmessage = onMessage ;
ws . onmessage = onMessage ;
console . log ( "Opening socket." ) ;
console . log ( "Opening socket." ) ;
// Ask for initial data
$ . get ( 'http://' + _root + '/term/init' , function ( resp , status ) {
if ( status !== 200 ) location . reload ( true ) ;
console . log ( "Data received!" ) ;
Screen . load ( resp ) ;
heartbeat ( ) ;
heartbeat ( ) ;
showPage ( ) ;
} ) ;
}
}
function heartbeat ( ) {
function heartbeat ( ) {
@ -119,7 +122,7 @@ var Conn = (function() {
} , {
} , {
timeout : 100 ,
timeout : 100 ,
} ) ;
} ) ;
} , 5 00 ) ;
} , 10 00 ) ;
}
}
return {
return {