حتى الآن لا أعرف السبب onDisconnect لا يعمل معالج الأحداث عندما ينفصل المستخدم بسبب قطع الطاقة أو عن طريق تعطيل الاتصال الصافي. لكنني وجدت طريقة أخرى لتحديدها. below هو رمز قبول المسيرة العميل ، وبعد كل 15 ثانية ، أتحقق مما إذا كان العميل لا يزال نشطًا (بعد فقدان الاتصال الصافي) ثم افصله ونحصل على "netconnection.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.");
}