Flash環境はイベント駆動

現在Flashを利用したゲームを開発中ですが、サーバへの接続処理で少しハマリました。

問題が起きたシーンは、初回接続時で、ポリシーファイルの授受があるときです。ポリシーファイルの授受も完了し、メイン接続も確立しているはずなのに、クライアントから送信されるはずのデータが、届かないのです。

結論からいいますと、Socketのconnectメソッドが同期インターフェイスだと思い込んでいたのが、誤りでした。ポリシーファイルの取得がない場合は、実質同期インターフェイスでしたが、本来はconnectイベントによる通知を待つべきなのですね。イベント駆動プログラミングにはそこそこ慣れたつもりでしたが、まだまだのようです。

というか、エラーイベントのキャッチをきちんとやっておけば、問題の本質に早く気がついていたかと思います。イベントを軽んずべからず…

シェアする

  • このエントリーをはてなブックマークに追加

フォローする