任何人请帮助,如何在客户端断开连接的Flash Media服务器上找到 (由于没有手动切断电源). 。我的FMS代码是下一个

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.");
}

如果客户手动关闭应用程序,则 OnDisconnect 事件处理程序被调用,但如果由于切断电源或客户禁用净连接而导致,则未调用。

请帮助我。

有帮助吗?

解决方案

到现在为止,我不知道原因 OnDisconnect 当用户断开电源或通过禁用净连接而导致的用户断开连接时,事件处理程序无效。但是我找到了另一种识别它的方法。BELOW是接受客户端反理的代码,然后每15秒钟后,我检查客户端是否仍处于活动状态(失去Net-Connection),然后断开连接,然后获得netConnection.connection.connection.connection.connection.connection.connect 。

    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.");
        }
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top