Google App EngineでBlazeDSによるプッシュを試みる

GAEを使ってBlazeDSによるデータプッシュを試みたが、結果は撃沈だった。

一連の詳細はみさぽんがあげてくれている。
Google App EngineでBlazeDSのRemoting通信を試す
Google App EngineでBlazeDSのMessagingを試す
Google App EngineでBlazeDSのLong Polling機能を試す
Google App EngineでStreamingAMFChannelが使えたかとぬかった

BlazeDSを使用する時の主なエラーは、セッション関連とスレッド関連だった。

スレッド関連の問題はGAEのセキュリティーサンドボックスの問題で仕方ないと思う。しかし、これはBlazeDSのソースを変更することで何とかなった。

しかしセッション関連はどうにもならなかった。GAEは分散環境なので、そもそもコネクションを張り続けるという事ができないようなのだ。恐らく、リクエストのたびに違うサーバーが処理しているとのだと思う。

この事がわかり、グーグルに考え方を変えろと言われている気がした。

「1クライアントにつき1秒間に1回かそれ以上のリクエストを処理できれば、それはコネクションを維持してデータをプッシュしているのと変わらないだろ?」と。

プルはダサいと考えていたが、どうやら考え方を変える必要があるようだ。

コメント

  1. "Make It Simple"で考えればプル=ダサくないということなのでしょうねぇ。分散処理を考えてもプルにしないと難しい面も多そうです。

    返信削除
  2. Make It Simpleで考えると、確かにダサくないですね。むしろイカしてるかも?

    携帯をプラットフォームとして考えたら、ずっとコネクションを張り続ける事は難しいだろうし、そうなると結局プルということに。

    環境を選ぶプッシュより、より広く簡単に動作するプル、ということなのかもですなぁ。

    返信削除

コメントを投稿

このブログの人気の投稿

レオナルド・ダ・ビンチはなぜノートを「鏡文字」で書いたのか?

macでsmb(samba)共有サーバーに別名で接続(別アカウント名で接続)する方法

Google DriveにCURLでアップロードするには?