VC++2008Expressでwin32appとwinsockの勉強に、時間が掛かってもいいから、本格的にネットワークゲームを作りたいと思っています。
1台のサーバーに複数のクライアントが接続します。
自宅のPC(7,8年前のPen4 2.0GHz Memory:768MByte)をDDNSで公開し、
サーバープログラムを走らせて、同時に日常の作業にも使いたいので、
なるべく軽くなるように作りたいと思っています。
動作は、クライアントがサーバーのロビーに接続し、1秒毎にサーバーからロビー状況を受信します。
クライアントが新規に部屋を作った場合、サーバーは部屋を作ります。(複数部屋が立つこともあります)
クライアントは既にある部屋に入ることが出来ます。(8人まで)
部屋が出来たら、サーバーはタイマのイベントで部屋状況を変化させます。
クライアントは、アクションを起こすと、サーバー部屋状況を変化させます。
部屋に居るプレイヤーは部屋状況を参照したり変化させたりした時、
部屋状況を受信し共有します。
プレイヤーデータはサーバー側で一括管理します。(CSVファイル等に)
自宅PCをDDNSで公開し、サーバープログラムを動かそうと思っています。
PCは数年前に買ったPen4 2.0GHz Memory 768Mです。
サーバーはなるべく軽い動作にしたいのですが、その場合、winsockをどのように使えばいいのかアドバイスを希望しています。
疑問点で思い浮かぶのは、同期/非同期やスレッドを使うか、同時にソケットを複数開くか、通信の度ソケットを作り終わったら破棄するか等です。
よろしくお願いします。m(_ _)m
http://okwave.jp/qa/q5898075.html
とか。
その質問をもう少し詳しく教えて欲しいのです。
よろしくお願いします。m(_ _)m
通信に関してはコネクションを張らない UDPを選択する手もありますね
ゲームの詳細な内容にもよりますけどひとつの選択肢として
また、サーバ側のデータ管理はデータベースを使うと SQLコマンドで
処理できるし SQLの知識はこの道で生活しようと思うなら将来きっと
役に立つので勉強のきっかけにされたらよいと思います。
まもなくクラウドの時代が来るので特にそういえます。
SQLサーバも Express版だと無料で使えますからね
回答ありがとうございます。
SQLできたら便利ですよねー。考えてみます。
ファイルに保存とSQLサーバだと、どちらが処理軽いですか?
> ファイルに保存とSQLサーバだと、どちらが処理軽いですか?
軽ぅいのがお望みなら SQLite(http://www.sqlite.org/) ってテがあります。
# サーバ不要。ライブラリをリンクするだけでstand-aloneで動きます。
回答ありがとうございます。SQLite、見てみます。
PCが非力なので、なるべく軽いほうがいいのです。
負荷の差が微々たる物ならば本家SQLサーバもいいなと思います。
(英語が苦手なのも相まって
みなさん助言や回答ありがとうございました。
編集 削除