На днях заметил неприятное изменение в работе своих п2п-флэшек. При смерти пира, его соседям событие NetGroup.Neighbor.Disconnect либо не приходит совсем, либо приходит с задержкой в 2-3 мин.
Причем еще пару месяцев назад все работало идеально, т.е. где-то с задержкой в 1-2 сек.
Вот канонический код из хелпа:
Код AS3:
import flash.net.*;
const SERVER:String = "rtmfp://stratus.adobe.com/";
const DEVKEY:String = "***";
var group_name:String="group_000";
var ng:NetGroup;
var nc:NetConnection = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS, hNS,false,0,true);
// To connect to Stratus, pass the server name and your developer key.
nc.connect(SERVER + DEVKEY);
// Handles all NetStatusEvents for the NetConnection and the NetGroup.
// This code includes cases it doesn't handle so you can see the cases
// and their info objects for learning purposes.
function hNS(e:NetStatusEvent):void{
log(e.info.code);
switch(e.info.code){
case "NetConnection.Connect.Success":
hConnect();
break;
}
}
// Called in the "NetConnection.Connect.Success" case in the NetStatusEvent handler.
function hConnect():void{
// Create a GroupSpecifier object to pass to the NetGroup constructor.
// The GroupSpecifier determines the properties of the group
var group_spec:GroupSpecifier = new GroupSpecifier(group_name);
group_spec.postingEnabled = true;
group_spec.routingEnabled=true;
group_spec.serverChannelEnabled = true;
ng = new NetGroup(nc, group_spec.groupspecWithAuthorizations());
ng.addEventListener(NetStatusEvent.NET_STATUS, hNS,false,0,true);
}
function log(txt:String):void {
//tf - dynamic TextField на стейдже
tf.appendText(((tf.text.length)?"\n":"")+txt);
tf.scrollV=tf.numLines;
trace(txt);
}
если тестить в standalone плеере, disconnect приходит всем пирам-соседям почти моментально.
А вот если залить на хостинг - появляется задержка в 2-3 минуты. Повторю, раньше такого не было, а теперь вот на тебе.
Собственно вопрос - никто не замечал подобных изменений, или это у меня какие-то локальные проблемы?