Indy、ICS、Synapse、およびClever InetSuiteを認識していますが、いずれもIOCPをサポートしていません。他に何かありますか?
編集: iocpclassesを見つけました。これは Delphi5で書かれています。何もないよりはましだと思います。
Indy、ICS、Synapse、およびClever InetSuiteを認識していますが、いずれもIOCPをサポートしていません。他に何かありますか?
編集: iocpclassesを見つけました。これは Delphi5で書かれています。何もないよりはましだと思います。
http://voipobjects.com/index.php?page=delphi-iocp-libraryを確認してください 。iocpclasses.sourceforge.net に移行されています (私は作成者です)。楽しみ :)
更新: voipobjects には、このライブラリ専用のページがありません。これはhttps://bitbucket.org/voipobjects/iocpengineにあります。
更新 2: bitbucket では Mercurial が提供されなくなったため、gitlab に移動しました。 https://gitlab.com/dmytro.bogovych/iocpengine
Indy 10 では、ファイバーと IOCP が実験的にサポートされています。
Indyナレッジベースから:
Indy 10 は、Windows プラットフォームでのファイバーおよび I/O 完了ポート API の実験的サポートを提供します。このサポートは、数千の同時クライアント接続が必要な、よりスケーラブルなサーバーの作成を支援するように設計されています。小規模および中規模のプロジェクトでは、従来のスレッド ベースのサーバーを引き続き使用できます。
ファイバーおよび IOCP API は、Delphi バージョン 7 を使用する Windows 2000、2003、および XP オペレーティング システムでのみサポートされています。Windows 95、98、および ME はサポートされていません。バージョン 7 より前の Delphi コンパイラも、これらのリリース以降に VCL に重大な変更が加えられたため、サポートされていません。
これはデフォルトではインストールされておらず、私自身も使用していないため、どの程度使用できるかはわかりません。この実験的な機能を使用するには、リポジトリから最新の SVN リビジョンをダウンロードする必要があると思います。
それを使用するのは簡単でなければなりません。IdTcpServer インスタンスを作成し、デフォルトのスケジューラの代わりに、IOCP サポートを提供するスケジューラ クラスを使用します。残りは、提供されたスケジューラ クラスの内部作業と見なす必要があります。
概要 mORMot と SynCrtSock および DWScript の HttpSys2WebServer は、どちらも IOCP ベースのサーバーを備えています。
Synopse には実際には IOCP を使用する 2 つのサーバーがあり、1 つは http.sys 経由、もう 1 つはソケット経由です。
Windows完了ポートに基づいており、WindowsSocketExtensionsを使用している高性能ソケットサーバーをご覧ください。IPv6がサポートされています。 リンク:http ://www.torry.net/authorsmore.php?id = 7131
コンポーネントではなく例: ISAPIThreadPool ユニットの TISAPIThreadPool。
提供されたファイルのセクションに、利用可能な Synapse の IOCPPool の例があります。
以前のiopcclassesプロジェクトに基づくプロジェクトがあります。
それは何千もの同時接続を処理すると主張しています:
IOCPエンジンは、高速でスケーラブルでパフォーマンスの高いTCP / UDPアプリケーションを迅速に作成するためのクラス、コンポーネント、およびルーチンのセットです。IOCPクラスを使用して作成されたアプリケーションは、数千の同時接続を処理できます。
ライブラリはDelphiで記述されています-Delphi7-2010がサポートされています。
ライブラリはIO完了ポートテクノロジーを使用しています。Win32の世界には、拡張性が高くパフォーマンスの高いTCP/UDPアプリケーションを作成するための最も強力なテクノロジがあります。このテクノロジは、古いWin9x/WinMEバージョンを除くすべてのデスクトップWindowsOSでサポートされています。
このライブラリはMPL1.1でライセンスされています。また、Jediプロジェクト(Winsock2ヘッダー変換)からのいくつかのファイルが含まれています。