コメット ベースのアプリケーションを構築したいと考えており、最大 1000 の同時接続を維持できるようにしたいと考えています。私が理解しているように、Tornado には、リクエストごとに 1 つのスレッドを生成しないという利点があるため、何千もの長いポーリング リクエストを簡単に処理できます。
5 に答える
マノス・デ・モノはあなたが探しているものだと思います. まだかなり早いですが、有望に見えます。
ASP.NET / IISで長いポーリング要求を処理するには、カスタムHTTPハンドラーを実装して実装しIHttpAsyncHandler
ます。これにより、ASP.NETワーカースレッドを利用して要求の処理を開始し、イベントを待機して応答をトリガーする間、スレッドをスレッドプールに戻すことができます。
http://msdn.microsoft.com/en-us/library/ms227433.aspx
非同期HTTPハンドラーを使用すると、ハンドラーの処理を続行しながら、外部プロセス(リモートサーバーへのメソッド呼び出しなど)を開始できます。ハンドラーは、外部プロセスが終了するのを待たずに続行できます。
ASP.NET MVCは、AsyncController
このフレームワーク内での非同期要求処理の実装を簡素化するためのも提供します。
あなたが探しているのはhttp://webserver.codeplex.com/ですか?
Tornado を C# に直接移植する作業を行っています。まだ 100% ではありませんが、そこまで来ています。
ドット ネット バインディングで Mongrel2 を試すことができます。これは、言語に依存しない非常に高速な Web サーバーです。zeroMQ 経由で動作します。