我知道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。
Indy 10具有光纤和IOCP的实验支持:
Indy 10提供实验支持用于光纤和I / O完成端口Windows平台中的API。这个支持旨在帮助创建更多可扩展的服务器,其中成千上万客户端同时连接数为需要。适用于中小型项目,传统的基于线程服务器仍然可用。
仅支持光纤和IOCP API适用于Windows 2000、2003和XP使用Delphi版本的操作系统7.不支持Windows 95、98和ME。 Delphi编译器之前由于以下原因,也不支持版本7自VCL以来的重大变化这些版本。
默认情况下未安装此工具,我自己也没有使用过,因此我不确定它有多少用处。我想您需要从其存储库下载最新的SVN修订版,才能使用此实验功能。
使用它必须简单明了;您创建一个IdTcpServer实例,而不使用默认的调度程序,而是使用提供IOCP支持的调度程序类。其余部分应视为提供的调度程序类的内部工作。
Synopse mORMot and SynCrtSock和DWScript's HttpSys2WebServer两者都具有基于IOCP的服务器。
Synopse实际上有两个使用IOCP的服务器,一个通过http.sys,另一个通过套接字。
不是组件,而是示例:ISAPIThreadPool单元中的TISAPIThreadPool。
查看基于Windows Completion Port并使用Windows Socket Extensions的高性能套接字服务器。支持IPv6。链接:http://www.torry.net/authorsmore.php?id=7131
contributed files部分中有一个适用于Synapse的IOCPPool示例。
有一个基于以前的iopcclasses项目的项目。
声称处理数千个同时连接:
IOCP引擎是用于快速分类的类,组件和例程的集合创建高可扩展性和高性能的TCP / UDP应用程序。使用IOCP类创建的应用程序可以处理数千个同时连接。
[库是用Delphi编写的-支持Delphi 7-2010。
库使用IO完成端口技术。有最强大的Win32世界中用于创建高度可扩展和高性能的技术TCP / UDP应用程序。所有台式机均支持此技术Windows OS(旧版Win9x / WinME版本除外)。
此库已根据MPL1.1许可。还包括一些文件来自Jedi项目(Winsock2标头翻译)。
[iocp-delphi作者:Ondrej Kelle,他也是chakracore-delphi的作者