簡易チャットソフトの構成について |
簡単に説明しようと思います。
大まかにいうと
下記のような三層構造になっています。
-----------------------
Flash
-----------------------
↓POST送信 ↑JSON受信
-----------------------
JavaScript
→ChannelAPI用JavaScript
-----------------------
↓POST送信 ↑JSON受信
-----------------------
GAE(サーバ)
→ChannelAPI
→MemCache(JCache)
→DataStore
-----------------------
Flashとサーバの送受信はhttp通信(80番ポート)を利用しています。
GAEのロングポーリング機能「ChannelAPI」を利用しているため
Flashで定期的にPOSTを送信する処理は行っていません。
(これが効果的かどうかはまだ検証中ですが・・・)
通信にjavascriptを挟んでいるのは
GAEが提供するChannelAPI用JavaScript(jsapi)を利用することで
HTML5のソケット通信機能WebSocketが浸透した場合も
実装の修正が極力ないようにした結果です。
(多分、ChannelAPI用JavaScriptの中が修正されるだけで
公開されているメソッド自体の変更はない・・・と信じたい)
サーバ側の処理では他に
寿命が短いログイン情報(IDやtokenなど)にMemCacheを
不正な発言がないかなどの確認するための情報保存に
DataStoreを利用しています。
よかったらクリックしてください。
にほんブログ村