Есть ли компонент на основе порта завершения ввода-вывода для Delphi?

Я в курсе инди, ICS, Синапс и Умный InetSuite, ни один из которых не поддерживает IOCP. Есть что-нибудь еще?

изменить: Я нашел iocpclasses , это написано на Delphi5. Лучше, чем ничего.

7 ответов


проверить http://voipobjects.com/index.php?page=delphi-iocp-library Он перенесен iocpclasses.sourceforge.net (я автор). Наслаждайтесь :)

Update: voipobjects не имеет выделенной страницы для этой библиотеки. Он живет здесь https://bitbucket.org/voipobjects/iocpengine.


Indy 10 имеет экспериментальную поддержку волокон и IOCP:

с Indy база знаний:

Indy 10 обеспечивает экспериментальную поддержку для портов завершения волокна и и/о API на платформах Windows. Этот поддержка предназначена для помощи в создании более масштабируемые серверы, где тысячи одновременных клиентских подключений требуемый. Для малых и средних проекты, традиционные потоковые серверы по-прежнему доступный.

Fiber и IOCP API поддерживаются только для Windows 2000, 2003 и XP операционные системы, использующие версию Delphi 7. Windows 95, 98 и ME не поддерживаются. Компиляторы Delphi до версия 7 также поддерживается за счет критические изменения в VCL с этот релиз.

Это не установлено по умолчанию, и я не использовал его сам, поэтому я не уверен, насколько он полезен. Думаю, вам нужно скачать последнюю версию SVN ревизия из их репозитория для использования этой экспериментальной функции.

использование его должно быть простым; вы создаете экземпляр IdTcpServer, и вместо планировщика по умолчанию вы используете класс планировщика, который обеспечивает поддержку IOCP. Остальное следует считать внутренней работой предоставленного класса планировщика.


синопсис мормот и SynCrtSock и DWScript HttpSys2WebServer оба имеют IOCP-сервер.

Synopse фактически имеет два сервера, использующих IOCP, один через http.sys другой через сокеты.


посмотреть высокопроизводительный сервер сокетов на основе порта завершения Windows и с использованием расширений сокетов Windows. Поддержка IPv6. Ссылка:http://www.torry.net/authorsmore.php?id=7131


Не компонент, а пример: TISAPIThreadPool в блоке ISAPIThreadPool.


существует пример iocppool для синапса availabile в способствовали файлы.


существует проект, основанный на бывшем проекте iopcclasses.

Он утверждает, что дескриптор тысяч одновременных соединений:

IOCP engine-это набор классов, компонентов и процедур для быстрого создание масштабируемых и высокопроизводительных приложений TCP / UDP. Приложение, созданное с использованием классов IOCP, может обрабатывать тысячи одновременное подключение.

библиотека написана на Delphi - Делфи 7 - 2010 г. поддерживаемый.

библиотека использует технологию портов завершения ввода-вывода. Существует самый мощный технология в Win32 world для создания высокой масштабируемости и производительности Приложения TCP / UDP. Эта технология поддерживается на всех рабочих столах ОС Windows, кроме старых версий Win9x/WinME.

эта библиотека лицензирована под лицензией MPL1.1. Также он включает в себя некоторые файлы из проекта Jedi (перевод заголовка Winsock2).

https://bitbucket.org/voipobjects/iocpengine