Dans Flash Media Server Comment identifier le client déconnecté en raison de la coupe d'alimentation?

StackOverflow https://stackoverflow.com/questions/19836084

Question

n'importe qui s'il vous plaît aider, comment puis-je trouver sur Flash Media Server que le client a déconnecté (en raison de la coupe d'énergie non manuelle). Mon code FMS est le prochain

application.allowDebug = true;
application.onAppStart = function(){
    application.users_so = SharedObject.get("SO");  
}
application.onConnect = function(client,Obj){
    client.name = Obj.name;
    application.acceptConnection(client);
    application.users_so.setProperty(client.name,Obj);
    trace("one user is now connected.");
}
application.onDisconnect = function(client){
    trace(" user lost connection.");
}

Si le client ferme manuellement l'application, alors ondisconnect Le gestionnaire d'événements est appelé mais si en raison de la coupe d'alimentation ou de la désactivation du client, il ne s'appelle pas.

S'il vous plait aidez moi avec ceci.

Était-ce utile?

La solution

Jusqu'à présent, je ne connais pas la raison pour laquelle ondisconnect Le gestionnaire d'événements ne fonctionne pas lorsque l'utilisateur se déconnecte en raison de la coupe d'alimentation ou de la désactivation de la connexion nette. Mais j'ai trouvé une autre façon de l'identifier. .Cosé "côté client.

    application.allowDebug = true;
    application.onAppStart = function(){
        application.users_so = SharedObject.get("SO");  
    }
    application.onConnect = function(client,Obj){
        client.name = Obj.name;
        application.acceptConnection(client);
        application.users_so.setProperty(client.name,Obj);
        client.interval = setInterval(checkLive, 15000, client);
        trace("one user is now connected.");
    }
    function checkLive(client){
      var stats = client.getStats();
      trace('Measured timeout: ' + stats['ping_rtt']);
     if(stats){

          if(stats['ping-rtt']>10){
                     trace('client '+ client.name +'is still connected.');
            application.disconnect(client);
          }
      }


    }
        application.onDisconnect = function(client){
            clearInterval(client.interval);
            trace(" user lost connection.");
        }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top