ソケットサーバーをつくろう

サイバーエージェントアメーバピグAndroid版の開発事例がありました。


アメーバピグ for Android」 開発事例
http://www.adobe.com/jp/joc/devnet/air/articles/pigg_ameba.html


サーバーサイドはJavaでSocketサーバーを書いてますね。
今運用してる携帯向けCGIWEBサービスですと、

携帯ブラウザ→GET/POST(HTTP通信)→Apache→Perl→TokyoTyrant

ですが、ピグやMMORPGのようなゲームだと15〜20fpsとか出すためには、
1秒間に15〜20回も通信しないといけないので、余計なプログラムを排除しないと厳しい
(速度的にもメモリ的にも)
↑ただ、SpeedyCGIで常駐してるのもあって、プログラム自体は5msで動いてます。
通信遅延はApacheを排除して、HTTPをソケット通信にしても減らないので、
 どうでしょうね? ただ、Apacheが無くなるメモリ省力は高いでしょうけど、
 4GBx2で8000円の時代ですからね(^^;



webサーバーを撤廃して、

アプリ→ソケット通信→ソケットサーバー→TokyoTyrant

とすれば、ソケット部分はバイナリも可能だし、
ソケットサーバーをC言語で書けばかなり早くなるはず。
最適化されるはずですからJavaで充分だし、自分ならPerlでもいいかな


というわけで、perlでソケットサーバーを作って、
Airのアプリと通信するC/Sシステムを作ってみたいと思います。
ずばり速度重視
本当はTokyoCabinet相当部分をソケットサーバーに組み入れてしまうのが一番良さそう
サーバーサイドの機能を絞り込んで、
すべてC言語で書いてしまえば最強でしょう。


高いので本屋でちょっと立ち読みしたことしかないけど、
MMORPGのサーバーサイドだと以下のような書籍が。
韓国のゲームメーカーの本(確かC++)

MMORPGゲームサーバープログラミング (Game developer)

MMORPGゲームサーバープログラミング (Game developer)