現在、外注さんにFLASHとFLASHコミュニケーションサーバーを使ったライブチャットのシステムを
作ってもらっていますが、チャット中にブラウザを閉じてしまってもFLASHとサーバー間の通信(?)
状態は切断されないために、そのチャットが終了したというイベントを認識できなくて困っています。
(チャット終了時に何らかの処理を行ないたいわけです)
非タブブラウザだとブラウザを閉じれば信号がサーバーに送信されるけど、タブブラウザだとタブだけを
閉じてもセッションが切れないせいで信号が飛ばない云々みたいなことを言ってるんですが、こちらは
FLASHやコミュニケーションサーバーに関して全く知識がないものでアドバイスも何も出来ず困っています。
JavaScript でページを閉じる前に、onbeforeunload のイベントが起きるので、
これをトリガーにしてチャット終了イベントを発行すれば良いのではないでしょうか。
調べてみると、IE/Firefox/Safari でできるようです。
http://d.aoikujira.com/blog/index.php?2008%252F12%252F15%252FJS%...
とりあえず、切断されたらしいと言うのは検出できます。たとえば、
のサービスもFLASHベースですができてます。
FLASHとFLASHコミュニケーションサーバーで定期的に(1分ぐらい?)でデータのやり取りをしておけば、1分間応答がなければ、
切断されたものだと判断してそう処理します。そのときにサーバーの方からセッションを切ってあげると言うことをすれば、
タブブラウザでも問題なくできます。
ありがとうございました。取り急ぎこちらの方法で対応してみたいと思います。
ありがとうございました。下記の件と含めて、こちらも検討してみます。