Flash Communication Server から Flash Media Server にバージョンアップされてから、謎の挙動が問題になっています。Flash Media Server 自体は落ちたりしていないし、Port も開いているし、Port Tunneling も行っているのですが RTMP による FMS アプリケーションへの接続がまったくされない。それも NetConnection の onStatus で NetConnection.Connect.Failed すら取得できない。それは一応 FMS を再起動することによって回避できるのですが、リルタイムコンテンツを配信するサーバなので、いつサーバへの RTMP 接続ができなくなるのか即座に知りたいものである。

The picture of window.close()
直接的な解決にはなりませんが、一応打開策として FMS サーバ上で定期的にRTMP 接続を確認するための Flash + PHP でのキットを作成してみた。これ自体は NetConnection オブジェクトにより FMS アプリケーションへの接続を行う swf と特定の時間接続しないと PHP をたたいてメールを送信するものだけである。これの説明は今回の主題と違うため説明は省くが、FMS をインストールしている Windows サーバ上で定期的にこの html を挙動させ確認している。その際に Windowsサーバ上で IE で開いた html を Javascript で自動で close させると、セキュリティ上の問題で上記の画像の様なアラートが出てしまい、window が閉じずにひたすら貯蓄されていってします。多少ネットで調べてみるとこのアラートはちょっとした Javascript で回避できる模様。自分はこの作業まで知らなかったので下記に記述しておきます。
*IE のみ動作を確認できます。
<script language="Javascript" type="text/javascript">
<!--
window.opener = true;
window.close();
//-->
</script>
これで簡単に開いた window それ自体をアラートを出さずに閉じれます。











