Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 在闪存媒体服务器中,如何识别因断电而断开的客户端?_Flash_Apache Flex_Flash Media Server - Fatal编程技术网

Flash 在闪存媒体服务器中,如何识别因断电而断开的客户端?

Flash 在闪存媒体服务器中,如何识别因断电而断开的客户端?,flash,apache-flex,flash-media-server,Flash,Apache Flex,Flash Media Server,任何人请帮助,我如何在闪存媒体服务器上找到客户端断开连接的(由于不是手动切断电源)。下一个是我的fms代码 application.allowDebug = true; application.onAppStart = function(){ application.users_so = SharedObject.get("SO"); } application.onConnect = function(client,Obj){ client.name = Obj.name;

任何人请帮助,我如何在闪存媒体服务器上找到客户端断开连接的(由于不是手动切断电源)。下一个是我的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事件处理程序无法工作的原因。但我找到了另一种方法来识别它。下面是接受客户端连接的代码,然后每隔15秒我检查客户端是否仍然处于活动状态(在断开网络连接后),然后断开连接,我们在客户端得到“NetConnection.Connect.Closed”

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