是否有基于I / O完成端口的Delphi组件?

时间:2010-02-20 13:10:48

标签: delphi iocp

我知道IndyICSSynapseClever InetSuite,但都不支持IOCP。还有什么吗?

编辑: 我发现iocpclasses ,它是用Delphi5编写的。我想,总比没有好。

8 个答案:

答案 0 :(得分:6)

Indy 10对纤维和IOCP有实验支持:

来自Indy knowledge base

  

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 SynCrtSockDWScript'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标题翻译)。

     

https://bitbucket.org/voipobjects/iocpengine

答案 7 :(得分:1)

iocp-delphi由Ondrej Kelle撰写,他也是chakracore-delphi的作者