2012-05-10 17 views
0

私は自分のSSLベースのマルチプロセスマルチファイル記述子スレッドサーバーを数週間使っていますが、それは罰金をうまく処理できることは言うまでもありません。私はオブジェクト指向の方法でC++で書いていますが、シグナルハンドリング(アトミックアクセスを含む)と例外/ errno.hがほぼ処理されています。Apacheのメリットとデメリットとあなたのサーバーは?

目的は、サーバーを使用してAndroid/iOS向けのマルチプレーヤーアプリケーションとゲームを作成することです。私は実際に完了に近づいていますが、最近私はApacheを使用してそれを達成することができます。

私はいくつかの調査を試みましたが何も見つかりませんでしたので、誰かが天気を決める手助けをすることができます。 Apacheの利点と欠点は何ですか?

このディスカッションに参加していただきありがとうございます!

+1

のために自分自身を求めることができ、あなた自身のもののためのプロキシ

  • [スタックオーバーフローがリコメンデーション・エンジンではありません](HTTP用//meta.stackexchange.com/a/128562/143302)。 – Filburt

  • +1

    これまでの唯一の答えにあなたのコメントを読んで、あなた自身のプロトコルを使用するか、Apache Httpdが処理するリクエスト/応答モデルでHTTPを使用するかのように聞こえるかもしれません。これが実際の場合は、それを反映するように質問を編集してください。そうでなければ、あなたが誇示しようとしているように聞こえます。 – Bruno

    答えて

    1

    我々はあなたが達成しようとするかについての詳細が必要になりますが、それはあなたのニーズにマッチした場合、私はどのような場合にはApacheとなるだろう:

    • それは例と負荷
    • のすべての種類のテストの戦いです(http://httpd.apache.org/docs/2.0/mod/を参照)
    • 通常のセキュリティパッチの恩恵を受けることができます
    • あなたはそれを自分で保守する必要はありません!

    +0

    目標は、モバイルプラットフォームで自分のマルチプレーヤーアプリケーションとゲームを作ることです。私はopenssl標準APIを使用しているので、fd_set、スレッドとフォークを実装しているので、多数のクライアントを効率的に処理できるようになりました。最後に、私が必要な場合は私のネットワークモデルをカスタマイズすることができます。正直なところ、Apacheの設定やデバッグのやりとりを処理するのに威力を発揮します。 – aali83

    +0

    正直なところ、気難しいことではありません。私は、Apacheが存在するときにクライアント/サーバーを自分でコーディングすべきかどうかを調べようとしています。自分のサーバーを維持して自分自身を更新し続けることが涼しいと思う。私がこれまでにコーディングしたサーバーはsslプロトコルを使用しています。私はそのクールなプロジェクトだと思っています。 – aali83

    1

    完全に実証済みの選択肢が存在する場合でも、いつでも独自のソフトウェアを作成できますが、その理由とその理由は何かを意識する必要があります。例えば

    、あなたの理由が考えられます

  • ニーズが重複しない私の目的のために
  • 既存のソフトウェア拡張可能ではないの同期をとることが難しいソフトウェア高/遅すぎるの待ち時間を/既存

    • P2Pネットワークが必要な場合など、クライアント/サーバーベースのHTTPプロトコルは最適ではありません。
    • 低レベルのプロトコルを検討したいだけです。

    私はこれらのどれもあなたのケースに当てはまる場合を除いて上記のどれも信じていませんが、詳細を提供していないので、私が間違っている場合は謝ります。

    コストは次のようになります。

    • あなたのアーキテクチャは混乱得るかもしれない - 銃声が敵にヒットした場合、たとえば、あなたは計算忙しすぎているサーバーを持っていることの罠に陥ることができ、10台のクライアントがしようとしているときTCP接続を開始したり、永続ストレージ・ルーチンにおけるバッファオーバーフローはあなたのゲームエンジンを扱う必要があるときは、下位レベルのものに時間を費やす
    • セキュリティが、権利を取得するために難しいある
    • 全体のサーバーをダウン取ります人為的に多くの年を取る
    • (でもあなたはOpenSSLを使用している場合)テストと正式な証明で独自のプロトコルを作成すること(例えば、あなたが使用してテストすることはできませんあなた自身のプロトコルを使用して、独自のデバッガをしなければならないこと、あなた自身のバグ
    • を行うことを意味HTTPプロキシを使用したカールまたはトレース)
    • 既存のソリューションで既に解決されている問題の多くを解決する必要があります。 :インスタンスのキャッシュ、認証、リダイレクト、ロギング、マルチノードのスケーリング、資源配分、あなただけの助け
  • 関連する問題