Закладка Overbyte ICS Компоненты, реализующие работу с различными сетевыми протоколами:
TWSocket — базовый практически для всей библиотеки ICS компонент, поддерживающий работу через SOCKS (клиент и сервер). Используется для реализации протокола TCP (RFC 793) и протокола UDP (RFC 768).
TWSocketServer — компонент для работы с SOCKS (сервер). Может использоваться, например, для «прослушивания» портов и выполнения каких-либо действий при подключении клиента.
TFingerCli — клиент для работы с Finger — сетевым протоколом, который предназначен для предоставления информации о пользователях удалённого компьютера. Подробная информация о протоколе содержится в RFC 1288.
TFtpCli TFTPServer — компоненты для организации работы FTP-клиента и FTP-сервера. FTP — стандартный протокол для передачи файлов.
THTTPcli THTTPServer — компоненты для организации работы с HTTP-протоколом на стороне клиента и сервера соответственно.
THttpAppSrv — компонент предоставляющий в наше распоряжение ядро для организации крупных приложений HTTP с большим количеством динамически создаваемых страниц и т.д. Подробная инструкция о работе с компонентом содержится в Wiki компонентов ICS (на английском языке).
TNNTPCli — клиент для NNTP (Network News Transfer Protocol) — протокола для обмена сообщениями в телеконференциях.
THtmlNNTPcli — компонент, расширяющий возможности TNNTPCli. Представляет в наше распоряжение ряд свойств методов для передачи/получения сообщений в виде HTML-кода.
TPing — может использоваться для проверки доступности хостов. Реализует частично ICMP-протокол (Internet Control Message Protocol — межсетевой протокол управляющих сообщений).
TTnСnx — компонент для реализации Telnet-соединения (Telnet — сетевой протокол для реализации текстового интерфейса по сети).
TSMTPcli — компонент для отправки почты по SMTP. Наследниками этого компонента являются компоненты TSyncSmtpcli (организация синхронной работы с SMTP) и THtmlSmtpcli (расширяющий возможности по отправке HTML-кода в письмах)
TPOP3cli — компонент, организующий получение почты по протоколу POP3. Наследником этого компонента является TSyncPOP3cli.
TDNSQuery — компонент для организации работы с запросами DNS.
Вспомогательные компоненты:
TMIMEDecode, TMimeDecodeEx и TMIMEDecodeW компоненты, предназначенные для раскодирования файлов, переданных вместе с электронным письмом (attach files). Компоненты принимают как файлы, так и потоки. В процессе работы компонента вызываются события, которые можно использовать, например, для отображения хода процесса или сохранения файла на диск.
TEmulVT — компонент, реализующий эмуляцию терминала. Реализуется большинство операций и последовательностей. Наследником является компонент TTnemulVT — компонент, сочетающий в себе возможности TEmulVT и TTnСnx.
TtnScript — компонент для добавления возможности выполнения сценариев пр работе с TTnemulTV. Является наследником от TTnemulTV.
TIcsCharsetComboBox — список для удобного выбора кодировок, доступных в системе. По выбранному значению в списке можно получить строку для передачи кодировки в заголовках, номер кодовой страницы и т.д.
TMultiProgressBar — компонент, представляющий собой многосекционный ProgressBar. Компонент будет удобно использовать, например, при закачке большого файла из Сети по частям. Внешний вид трехсекционного MultiProgressBar’а представлен на рисунке:
Компонент TMultiProgressBar удобно использовать совместно с TMultipartFTPDownloader или TMultiHTTPDownloader, которые обеспечивают загрузку файла с помощью нескольких одновременных соединений по FTP или HTTP-протоколу соответственно. TicsLogger — компонент, позволяющий организовать удобное хранение логов работы какого-либо компонента библиотеки ICS. Лог может вестись как непрерывно (каждая новая запись будет добавляться в конец файла), так и обновляться при каждом новом соединении.
Закладка Overbyte ICS SSL Закладка содержит компоненты, аналогичные тем, что расположены на «Overbyte ICS», но обеспечивающие работу с использованием SSL. Например, для работы с HTTPS используется компонент аналогичный THTTPCli — TSSLHTTPCli, для FTP — TSSLFTPCli и т.д.
В целом можно сказать, что ICS достаточно мощная и удобная библиотека для работы с различными сетевыми протоколами. Сам я об этой библиотеке узнал давно, ещё лет 5 назад, но не использовал в силу различных причин — то не было надобности, то хотелось разобраться с тем же Synapse и т.д. Думаю, что сейчас в свободное от основной работы время, буду изучать особенности работы с ICS.