我知道Indy,ICS,Synapse和Clever InetSuite,但都不支持IOCP。还有什么吗?
编辑: 我发现iocpclasses ,它是用Delphi5编写的。我想,总比没有好。
答案 0 :(得分:6)
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支持的调度程序类。其余的应被视为所提供的调度程序类的内部工作。
答案 1 :(得分:6)
检查http://voipobjects.com/index.php?page=delphi-iocp-library 它迁移了iocpclasses.sourceforge.net(我是作者)。 享受:)
更新:voipobjects没有此库的专用页面。 它住在这里https://bitbucket.org/voipobjects/iocpengine。
答案 2 :(得分:5)
Synopse mORMot and SynCrtSock 和 DWScript's HttpSys2WebServer 两者都有一个基于IOCP的服务器。
Synopse实际上有两个使用IOCP的服务器,一个通过http.sys,另一个通过套接字。
答案 3 :(得分:4)
查看基于Windows完成端口和使用Windows套接字扩展的高性能套接字服务器。支持IPv6。 链接:http://www.torry.net/authorsmore.php?id=7131
答案 4 :(得分:3)
不是组件而是示例:ISAPIThreadPool单元中的TISAPIThreadPool。
答案 5 :(得分:3)
contributed files部分提供了一个可用于Synapse的IOC池示例。
答案 6 :(得分:2)
有一个基于前iopcclasses项目的项目。
它声称处理数千个同时连接:
IOCP引擎是一组快速的类,组件和例程 创建高可伸缩性和性能的TCP / UDP应用程序。 使用IOCP类创建的应用程序可以处理数千个 同时连接。
库是用Delphi编写的 - 支持Delphi 7 - 2010。
Library使用IO完成端口技术。最强大的 Win32世界中的技术创造了高度可扩展性和性能 TCP / UDP应用程序。所有桌面都支持此技术 除旧的Win9x / WinME版本外的Windows操作系统。
此库根据MPL1.1获得许可。它还包括一些文件 来自Jedi项目(Winsock2标题翻译)。
答案 7 :(得分:1)
iocp-delphi由Ondrej Kelle撰写,他也是chakracore-delphi的作者