2

C++ ソケット サーバー、C++ サーバーと通信する Flash クライアント、および crossdomain.xml を Flash クライアントに渡す Python ソケット サーバーを含むアプリケーションがあります。C++ サーバーは REST 操作を呼び出し、その結果を Flash クライアントに返します。これらはすべて、Linux 64 ビット サーバー (Debian) でホストされています。

一部のユーザーについては、ゲーム サーバーがソケットからの読み取りを試行するときに (recv() で)、多くの「ピアによる接続のリセット」が発生します。Flash ポリシー サーバーにも、「ピアによる接続のリセット」による同様の量があります。

この問題の理由は何か、アイデア、リソースを探しています。確かに、これはサーバーの過負荷によるものではありません-ユーザーの場合-3人のユーザーの場合もあれば、300人のユーザーの場合もあります.

プライベートサーバーでテストしましたが、状況は同じです.

問題を解決するために私たちが疑ったこと:

  • C++ サーバーおよびソケットとの通信に関する Flash クライアントの問題。
  • ネットワークの問題
  • いくつかの組み合わせの tcp オプション

私たちがやったこと:

  • クライアントからセキュリティと IO エラーをキャッチします。そこにログを記録するだけです:(

私たちが考えていること:

  • C++ サーバーの優先順位を -5 または -10 に変更します。これにより IO 操作が促進されることを願っています。

「pearによる接続のリセット」の理由はわかっています-stackOverFlowとgoogleでそれらの多くをチェックしています-しかし、この問題を克服する方法が見つかりません。

4

1 に答える 1

2

「ピアによる接続のリセット」は、サーバーの過負荷とは関係ありません。これは、リモート クライアント (またはユーザーとクライアントの間のネットワーク機器) がアクティブにネットワーク接続を閉じたことを知らせるメッセージです。

これは、ネットワークの問題の兆候である可能性があります (ホーム ゲートウェイが接続がタイムアウトしたと考えているか、独自のファイアウォールが接続がアイドル状態でタイムアウトしていると判断している)、クライアントがクラッシュしたか、ユーザーがページから移動しただけで、Flash クライアントが閉じます。

実際に問題を抱えている人からの情報がなければ、問題を簡単に診断できるとは思いません。

于 2012-02-15T16:25:17.790 に答える