Flashの自分がよくやるミスシリーズのメモ。
最初なのでgotoAndPlay()です。
親swf( "親" )から子swf( "子" )をロードして、
ロード完了直後に"子"に設置したシンボルをいきなり動かそうとして陥ります。。
EntryMore ! "gotoAndPlay(2)が動かない" »
先月あたりからFlash Media ServerのDeveloper Editionを触っていました、
そこで2箇所のミステリーがありました。
まず10コネクションまでしかつなげられないとは聞いておりましたが、
10コネ以上つなげてもエラーが出るわけでもなく
コンソールからアラートがトレースされるわけでもなく
ただ単にrejectされて動かなくなります。
こうなってしまうとresetするだけでは復活しなくて
FMS自体を再起動しないといけなくなります。
再起動は微妙に時間がかかります。
ちなみにコンソールも1コネクション分カウントされてしまいます。
つぎ、
FMSアプリケーション側から
application.onConnect = function(userObj, userName)
{
trace( 'New user is:' + userName );
if( userName != 'hacker' ){
application.acceptConnection(userObj);
}else{
var eMessage = new Object();
eMessage.message = "u_r_a_hacker";
application.rejectConnection(userObj, eMessage);
}
}
とかやってhackerさんからの接続を解除したとしても
コンソールのUserCountは増えたままで減らないです。
なのですぐに10コネクションをオーバーしてボカン。
application.clients.lengthではカウントされてないんです。
こういう場合hackerさんのSWFを閉じればコンソールのUserCountも減ります。
どこかでnetconnectionが生きてしまっているのでしょうか?
そしてFMSはどこのコネクトをカウントしてるんですか?
ちなみにhackerさんのSWFからnetconnection.close()を叩いて
能動的に接続解除すればそんなことにはなりません。
あくまで受動的にFMSからconnectをrejectされた場合のみです。
EntryMore ! "FMSで困ったこと(2こ)" »