Flash Media Server에서 전원 차단으로 인해 클라이언트 연결이 연결된 방법은 무엇입니까?

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

문제

누구나 도와주세요. 클라이언트가 연결이 끊어진 플래시 미디어 서버에서 어떻게 찾을 수 있습니까? (수동으로 전원 차단으로 인해). 내 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 이벤트 핸들러가 호출되지만 전원 차단 또는 클라이언트가 Net-Connection을 비활성화하면 호출되지 않습니다.

이것을 도와주세요.

도움이 되었습니까?

해결책

지금까지 나는 그 이유를 모른다 ondisconnect 전원 차단으로 인해 사용자 연결이 끊어 지거나 Net-Connection을 비활성화하여 이벤트 핸들러가 작동하지 않습니다. 그러나 다른 방법을 찾을 수있는 또 다른 방법을 찾았습니다. Below는 클라이언트 상대를 수락하기위한 코드입니다. 그리고 15 초마다 클라이언트가 여전히 활성화되어 있는지 확인하고 있습니다 (Net-Connection을 잃어버린 후). 클라이언트 측에.

    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