2010-12-17 12 views
1

本当に単純なサーバー/クライアントの構築に役立つライブラリ/フレームワーク/ codesnippetを探しています。どちらもポータブルでなければなりません(linux/win/mac)。C++で単純なサーバー/クライアントの概念を実装する

絵はとても多くのそして千の言葉を述べている: alt text

サーバは切り抜いたクライアントを区切ることができるはずです。 私が探しているのは、移転の仕方に関するヒントだけです。私はC++以外の言語での経験はほとんどありませんでした。そして、配列に接続されているすべてのクライアントを格納し、正しい方向を指していれば、それぞれのクライアントと対話するサーバーを作成するのは簡単です。

私がC++を検討したのは、RakNetとBoost.Asioでした。 私はRakNetを使いたくないのですが、私はいつかアプリケーションを販売するかもしれません(あなたは分かりません)。そして、Boost.Asioはわたしにとっては理解しにくい方法であり、低レベルの方法です。私が本当に必要とするのは、単純な送受信機能です。 jsonは私によって処理されます(私は既にjsoncppを調べました)。 1つのメッセージの最大長は2048バイトです。

何を見て/何を使用するかに関するヒント/ヒント/助けがありますか? 私は低レベルの機能性を必要としないので、簡単に何か低レベルではないものを探しています。

ありがとうございます。
Robin。

+0

テキストを含む画像は、それほど多くの言葉を述べませんが。 – Default

+0

この宿題ですか? –

+0

いいえ、そうではありません。私は私の友人の一人と小さなゲームを開発したいと思う(ちょうどOpenGLについてのことを学ぶことを目的としている)。私たちはネットワークサポートを追加することができれば涼しいだろうが。 – Robin

答えて

3

以前にネットワークプログラミングを行ったことがありますか? Cでかなり簡単です。あなたが望むものは数時間で実装できます。私は以下のこのマニュアルを使って、私が学生だったときの課題を終わらせました。

http://shoe.bocks.com/net/

ただ、これを読んで、あなたが行ってもいいです。本当にそれほど難しくありません。

Good Luck!

+0

私はクロスプラットフォームのソリューションを探しています。 – Robin

+0

@Robin:ネットワークプログラミングに精通するためには、移植性に優れたソリューションをお読みになることをお勧めします。ネットワークソケットは、異なるプラットフォーム上でほぼ同じインターフェイスを持ち、**クライアント**を簡単に移植することができます。ただし、スケーラブルなネットワークサーバーアーキテクチャは、プラットフォームごとに異なる**さまざまです。 –

+0

アンドレと言うと、彼らはほとんど同じです。それをさまざまなプラットフォームに移植することで、このレベルで痛みはありません。私はあなたが開発したいものを正確には知らないが、もしあなたがJavaを見ても気にしなければ、そのプラットフォームとは独立したプラットフォームでさえより簡単である。 – zhengtonic

1

クロスプラットフォームで使いやすく、どちらの要件でもQtをお勧めします。それはかなり簡単で、信頼性が高く、クロスプラットフォームです。

http://qt.nokia.com/products/developer-tools/

それは13個の・ネットワーキング・サンプル(私はそれはあなたが後にしているだけのものだと考えているスレッド・サーバーのチュートリアルを見てみましょう)を含むサンプルの多くが付属しています。

+0

はい、この場合はQTを使用していますが、商業的に使用する予定がある場合はライセンスが問題になります。 1人よりもトリッキーなLGPLが思うかもしれません。 – zhengtonic

+0

@zhengtonic - あなたはLGPLにこだわることができます。商用ライセンスは、Qtのソースを変更して変更をクローズし続ける予定がある場合にのみ必要です。そうでないと、QtのLGPLライセンスで商用のクローズドソースアプリケーションを作成することができます。 Qtはモジュール化されているので、libqtcoreとlibqtnetworkだけが必要です。これは実際にはクロスプラットフォームに支払う小さな価格です。仮想マシンやそのようなものを追加するのではなく、ネイティブのアプリケーションになります – Raphael