2

私は CGI アプリケーションを作成しました。これは Apache サーバーによって実行され、リクエストが処理されるのを待っています。実際には、各リクエストを受信した後、Apache はアプリケーションを実行し、リクエストを処理してそれに応じて応答します。各リクエストを受信するたびに、必要なすべての要件と初期化をロードする必要があるため、パフォーマンスの点でいくつかの欠点があります。もう 1 つの問題は、アプリケーションで、クライアントが後で送信する ACK の情報を追跡する必要があることです。アプリケーションを 1 回実行して、常にリクエストの処理を待機させるにはどうすればよいですか?

4

2 に答える 2

1

mod_fastcgiApacheに使用したいようです。Web サイトから:

このサードパーティ モジュールは、FastCGI プロトコルのサポートを提供します。FastCGI は、言語に依存しないスケーラブルな CGI のオープンな拡張機能であり、サーバー固有の API の制限なしに高いパフォーマンスと永続性を提供します。... FastCGI アプリケーションは永続的であるため高速です。リクエストごとの起動と初期化のオーバーヘッドはありません。これにより、CGI パラダイム内では実用的でないアプリケーションの開発が可能になります (たとえば、巨大な Perl スクリプト、または 1 つ以上のデータベースへの接続を必要とするアプリケーション)。

于 2012-09-11T19:00:40.327 に答える
0

あなたの質問を正しく理解していれば、基本的に有限状態マシンでカバーされます。これにより、「待機」状態、「アクション」状態などを実現できます。これを使用すると、リクエストを作成し、リクエストが満たされた場合にのみ行動することができます。より深く理解するための優れたサイトは、「http://www.drdobbs.com/cpp/state-machine-design-in-c/184401236」です。

または、promise を使用することもできます。

于 2012-09-11T19:06:21.397 に答える