var request = google.gears.factory.create('beta.httprequest');
var isServerAvailableStatus = false;
var PING_TIMEOUT_SECONDS = 1*1000;

function checkServerStatsAndChangeMode(){
        isServerAvailable();
        window.setTimeout("changeMode(')",PING_TIMEOUT_SECONDS);
}

function isServerAvailable() {
    var resource_to_test = "FAQs_to_write.txt";
    resource_to_test += "?q=" + Math.floor(Math.random() * 100000);
    request.open('GET', resource_to_test);
    request.onreadystatechange = serverAvailable
    request.send();
    //window.setTimeout("isServerAvailable()",TIME_BETWEEN_PINGS);
}

function pingSuccess() {
    if(request.responseText != "" && request.responseText.indexOf("404
Page not found") == -1){
              addStatus("[Server Accessible]");
        } else {
              addStatus("[Server Inaccessible]");
        }
}

function changeMode(){

        if(isServerAvailableStatus){
                if(isGoOffLine == 'true'){

                }else{

                }
        }
}

this is the solution for checking the server status and continue ur
flow accordingly.

Thanks
Amit Kumar Verma

On Apr 9, 6:19 pm, frog <[email protected]> wrote:
> Hi,
> yes it's possible stefan, at least on Firefox, but there are many
> other reasons to be disconnected, ( a disconnected cable, no more
> wifi...) and i don't think that Firefox can detect these failures.
> that's why we need a code for detection mode.
> Loïc
>
> On Apr 7, 4:57 pm, stefan <[email protected]> wrote:
>
> > Hi,
> > maybe i am totally wrong but isnt it possible to you the browsers
> > navigator object?
> > navigator.onLine returns true if online.
>
> > stefan
>
> > On 1 Apr., 04:03, 浩翔 <[email protected]> wrote:
>
> > > Hi all,
>
> > >     This is my code for detect network status ,  it maybe help to
> > > you.
> > >     Thanks  Dimitri Glazkov 
> > > (http://code.google.com/p/glazkov-attic/source/browse/trunk/YourTimesh...)
>
> > > ----------------------------------------------------------------------------------------------------
> > >      /**
> > > * The ParentWorkerPool of Monitor  whether the system is online or
> > > offline
> > > *
> > > * Alex([email protected])
> > > * 2009.3
> > > */
> > > isOnlie: function(){
> > >         workerPool = google.gears.factory.create('beta.workerpool');
>
> > >         workerPool.onmessage = function(a, b, message) {
> > >             if (message.sender == monitorchildWorkerId) {
> > >                     if(message.text == 'online'){
> > >                         $('#is-connected').show();
> > >                         $('#is-disconnected').hide();
> > >                     }else if(message.text == 'offline'){
> > >                         $('#is-disconnected').show();
> > >                         $('#is-connected').hide();
> > >                     }
> > >             }
> > >         };
>
> > >         var monitorchildWorkerId = workerPool.createWorkerFromUrl('/
> > > javascripts/js_app/models/monitor.js');
> > >         workerPool.sendMessage(window.location + '?monitor',
> > > monitorchildWorkerId);
>
> > > }
>
> > > /**
> > > * The ChinldWorkerPool of Monitor  whether the system is online or
> > > offline
> > > *
> > > * Alex([email protected])
> > > * 2009.3
> > > */
>
> > > var POLLING_INTERVAL = 2000;
>
> > > var wp = google.gears.workerPool;
> > > var url;
> > > var parentId;
>
> > > var first = true;
> > > var online;
>
> > > var request = google.gears.factory.create('beta.httprequest', '1.0');
> > > var timer = google.gears.factory.create('beta.timer');
>
> > > var wp = google.gears.workerPool;
>
> > > monitor = function (message) {
> > >   var count = 0;
> > >   var db = google.gears.factory.create('beta.database');
> > >   db.open('red-CustomersManagement');
> > >   request.open('HEAD', url + String(Math.floor(Math.random()*10000)));
> > >   request.onreadystatechange = function() {
> > >     if (request.readyState == 4) {
> > >       try {
> > >         if (request.status == 200) {
> > >           rs = db.execute("select * from isonline",[]);
> > >           if(rs.isValidRow()){count = rs.field(0)};
> > >           if (!online) {
> > >             online = true;
> > >             if (count == 0){
> > >                 db.execute("insert into isonline (state) values (?)",
> > > ['online']);
> > >             }else{
> > >                 db.execute('update isonline set state=? where
> > > state=?;', ['online',"offline"]);
> > >             }
>
> > >             rs.close();
> > >             wp.sendMessage("online", parentId);
> > >           }
> > >         }
> > >       }
> > >       catch(e) {
> > >         if (online || first) {
> > >             online = false;
> > >             first = false;
> > >           db.execute('update isonline set state=? where state=?;',
> > > ['offline',"online"]);
> > >           wp.sendMessage("offline", parentId);
>
> > >         }
> > >       }
> > >       db.close();
> > >       // wp.sendMessage('ddd', parentId);
> > >       timer.setTimeout(monitor, POLLING_INTERVAL);
> > >     }
> > >   }
> > >   try {
> > >     request.send();
> > >   }
> > >   catch(e) {
> > >     if (online) {
> > >       online = false;
> > >     var db = google.gears.factory.create('beta.database');
> > >     db.open('red-CustomersManagement');
> > >     db.execute('update isonline set state=? where state=?;',
> > > ['offline',"online"]);
> > >     db.close();
> > >       wp.sendMessage("offline", parentId);
> > >     }
> > >   }
>
> > > }
>
> > > wp.onmessage = function(a, b, message) {
> > >   url = message.text;
> > >   parentId = message.sender;
> > >   monitor(message)
>
> > > }
>
> > > ------------------------------------------------------------------------------------------------
>
> > > thank you!
>
> > > Alex

Reply via email to