今日はプログラミングなし仕様検討

| | コメント(0) | トラックバック(0)

 本当は目先にある問題(クライアントのバグ)を解決しないといけないのですが、プログラミングをする時間も無かったので電車の中とか、昼食中とかに無駄パケットのフィルタリングについてアルゴリズムを検討していました。

 もちろん、仕様書なしの仕様です。(自分1人だからいいけど)ココに書いておけば忘れても大丈夫だろう。

 サーバー側が1プロセスで動いているselect方式であるため、アルゴリズムとしては理解しやすかった。(私は再帰とかすごく苦手なのでforkだとパニックになってるかもです。)
 因みに処理効率はどちらが良いのかは分からないです。1CPUだと分散してもあまり意味がないようにも思います。

 方法は、パケット送信するクライアントを選択したとき(この時点ではハンドルしか分からない)、サーバー側に保存している位置情報を取り出して今度は送信パケットと解析し、座標が範囲外のものは送信しないようにする。実は単にこれだけ。

 その際にサーバー側でクライアントの状態を取得するためにDBもしくはファイル、保存しないのであればメモリ内だけのDBサーバーを制作する必要がある。あとクライアントをハンドルのみで処理していると、ログインするたびにクライアント数が増えてヤバイ事に気づく。やっぱりID発行しないとダメかな。

 そんなところで今日はDBのインストールで終わり。とりあえずMySQLとPostgreSQLに対応させますが、MSSQLは開発環境があるものの運用時にサーバーと予算が限定されるので移植に向かないと判断。あとすごく興味があるのは、このブログでも使用しているBerkeley DBはファイルベースで移植性も良くてLinux等には標準で搭載されているみたいなのでライブラリがあればこちらも検討。(多分パフォーマンスはあまり期待できないかも)

トラックバック(0)

このブログ記事を参照しているブログ一覧: 今日はプログラミングなし仕様検討

このブログ記事に対するトラックバックURL: http://blog.c-production.com/mt/mt-tb.cgi/52

コメントする

このブログ記事について

このページは、管理人が2005年10月26日 07:42に書いたブログ記事です。

ひとつ前のブログ記事は「MySQLをインストール」です。

次のブログ記事は「Perlに必要なライブラリ」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.1