Главная » Indy in Delphi
Раньше нигде не мог достать описание компонентов Indy на русском языке. Но вот как-то раз удалось купить одну книжку, где это хоть немного описывалось. Не буду называть название книги, дабы не делать никакой рекламы. Просто хочу поделиться информацией. Так как в Интернете её пока мало.            Indy это набор компонентов для разработки программ, использующих Интернет и основанных на блокирующих сокетах. Вкладка Indy Clients Компонент TIdTCPClient            Компонент TIdCPClient (Indy клиент TCP) используется для создания соединения по протоколу TCP. Основные свойства:1) BoundIP – Локальный IP-адрес, используется при выполнении метода IOHandlerSocket.ConnectClient2) BoundPort – Целочисленное значение, указывающее номер наиболее предпочтительного локального порта для клиентского соединения, используется при выполнении метода IOHandlerSocket.ConnectClient3) BoundPortMin и BoundPortMax – Указывают допустимый диапазон номеров портов.4) Host – Строка, где указывается адрес удалённого компьютера, который используется в качестве конечной точки клиентского соединения.Адрес может быть именем компьютера, подобно wvnvm.wvnet.edu, или IP-адресом, как 129.71.2.4. Для подключения к серверу на клиентском компьютере используется IP-адрес 127.0.0.1 или localhost.5) Port – Номер порта, используемого для соединения с сервером. По принятому соглашению, для некоторых протоколов Internet зарезервированы номера портов, например: 21 (FTP), 25 (SMTP), 80 (HTTP), 119 (NNTP). Основные методы:1) Procedure Connect(const Atimeout: Integer = IdTimeoutDefault); virtual;Используется при создании клиентского соединения с удалённым сервером. Для создания соединения необходимо определить свойства Host и Port.2) Function ConnectAndGetAll: string; virtual;Используется при создании клиентского соединения с удалённым сервером. Для создания соединения необходимо определить свойства Host и Port. Метод ConnectAndGetAll считывает данные  из соединения до разрыва соединения. Протокол, используемый при работе с методом ConnectAndGetAll, должен соответствовать определённым требованиям.Например, значения Day и DayTime должны быть заключены в кавычки. Компонент TIdUDPClient            Компонент TIdUDPClient (Indy клиент UDP) является производным от класса TIdUDPBase и обеспечивает работу клиентского приложения по протоколу UDP в соответствии со стандартом RFC 786.            Компонент TIdUDPClient использует метод Send для передачи данных удалённому компьютеру по адресу, указанному в свойствах Host и Port, с помощью протокола UDP без установления соединения.            Компонент TIdUDPClient используется как родительский класс для ряда компонентов, использующих UDP, например TIdDNSResolver, TIdSNTP и TIdTrivialFTP. Компонент TIdDayTimeКомпонент TIdDayTime (Indy дата) используется для получения значения времени. Компонент TIdDayTime реализует протокол RFC 867, который представляет день и время в доступном для восприятия формате.            Для решения вопросов синхронизации времени рекомендуется использовать компоненты TIdTime, TIdTimeServer и TIdTimeUDPServer. Компонент TIdDayTimeUDP            Компонент TIdDayTimeUDP (Indy время и день UDP) реализует вариант протокола DayTime RFC 867 на основе UDP. Компонент TIdDNSResolver            Компонент TIdDNSResolver (Indy распознаватель DNS) обслуживает запросы сервера DNS. Запросы сервера DNS предназначены для замены имени компьютера на его IP-адрес. Компонент TIdDNSResolver является производным от класса TIdUDPClient. Компонент TIdEcho            Компонент TIdEcho (Indy эхо) предназначен для поддержки сервиса ответного сигнала, используемого, как правило, для проверки работоспособности сети. Клиент посылает текстовое сообщение серверу, сервер возвращает сообщение клиенту. Если сообщение искажено, сеть работает с ошибками. Компонент TIdEchoUDP            Компонент TIdEchoUDP (Indy эхо UDP) реализует вариант протокола Echo на основе UDP в соответствии со стандартом RFC 862.            Компонент TIdEcho является производным от класса TIdUDPClient и полезен при отладке и измерении характеристик сети. Компонент TIdEchoUDP обеспечивает измерение времени, занимаемое прохождением сигнала от и до сервера совместно с компонентом TIdEchoUDPServer.            Реализация на основе UDP позволяет не создавать соединения. Сервер принимает данные в порт 7. Когда приходит эхо-запрос, то все данные возвращаются в оригинальном виде.            Для использования TIdEchoUDP необходимо выполнить следующие условия:
Установить адрес сервера как значение для свойства Host;
Вызвать метод Echo для отправки данных на сервер и приёма ответа;
Использовать свойство EchoTime для получения времени прохождения сигнала в миллисекундах. Компонент TIdFinger            Компонент TIdFinger (Indy указатель) предназначен для поддержки протокола, дающего пользователю возможность запрашивать информацию о работе в системе других пользователей. Серверы могут обрабатывать такие клиентские запросы. Компонент TIdFTP            Компонент TIdFTP (Indy FTP) включает полную поддержку протокола передачи файлов FTP. Поддерживается пассивная и активная передача данных, а также такие операции, как GET и PUT, удаление каталогов, получения квот, размеров файлов и каталогов. В своей работе компонент TIdFTP использует класс TIdSimpleServer. Когда выполняется передача файлов по протоколу FTP, вторичное соединение по протоколу TCP открыто для передачи данных. Когда данные были переданы, соединение закрывается. Такое соединение является уникальным для каждого передаваемого файла и называется канал передачи данных. Компонент TIdGopher            Компонент TIdGopher предназначен для обеспечения сетевого протокола Gopher, заменяемого в последнее время протоколом HTTP. Сервер, реализующий этот протокол, обеспечивает иерархическую распределённую систему поддержки документооборота. Компонент TIdHTTP            Компонент TIdHTTP (Indy клиент HTTP) используется для поддержки сетевого протокола HTTP на стороне клиента (поддерживаются версии 1.0 и 1.1, включая операции GET, POST и HEAD). Кроме того, обеспечивается поддержка аутентификации пользователей и применение прокси-серверов. Серверный компонент используется для предоставления услуг другому Web-серверу, поддерживающему данный протокол. Компонент TIdHTTPServer облегчает реализацию таких функций, как cookies, управление состоянием соединения и т.д. Компонент TIdIcmpClientКомпонент TIdIcmpClient (Indy протокол контроля) предназначен для поддержки протокола ICMP, с помощью которого осуществляется выполнение операции Ping и трассировка сети.TIdIcmpClient является производным от абстрактного класса TIdRawClient и использует для свойства Protocol значение Id_IPPROTO_ICMP (Десятичное значение 1). Используемые форматы сообщений и алгоритмы соответствуют протоколу RFC 792.В свойстве Host указывается имя компьютера или IP-адрес для эхо-запроса. Для работы с принятой информацией можно использовать свойство ReplayStatus или событие OnReplay. В свойстве ReceiveTimeout определяется допустимое время ожидания ответа.Свойство TTL используется для задания максимального числа пересылок, которые пакет должен пройти до того, как будет возвращён. Для выполнения приложения трассировки можно выполнять операцию Ping с возрастающим значением свойства TTL. Каждый ответ будет содержать IP-адрес последующего узла, позволяя программе построить путь, проходимый пакетом.Для корректной работы данного компонента в ОС Windows NT, 2000, XP необходимы привилегии администратора, так как этоn компонент не использует ICMP.DLL который обычно используется для приложения PING, использующих командную строку. Компонент TIdIdent            Компонент TIdIdent (Indy протокол идентификации) является производным от класса TIdTCPClient и реализует поддержку протокола идентификации на стороне клиента в соответствии со стандартом RFC 1413. Компонент TIdIMAP4            Компонент TIdIMAP4 (Indy протокол IMAP4) является производным от класса TidMessageClient и реализует на стороне клиента протокол доступа к сообщениям Internet IMAP4. Этот протокол позволяет клиенту производить доступ к электронной почте и манипулировать сообщениями на сервере IMAP4.            Протокол IMAP4 устанавливает операции для создания, уничтожения и переименования почтовых ящиков, проверки новых сообщений, постоянного удаления сообщений, установки и сброса флагов и т.д.            Протокол IMAP4 не определяет средства для пересылки почтовых сообщений. Эта функция возложена на протокол передачи сообщений, который используется в компоненте TIdSMTP. Компонент TIdIPMCastClient            Компонент TIdIPMCastClient (Indy широковещательный клиент) является производным от класса TIdIPMCastBase реализует широковещательные возможности клиента на основе протокола UDP, при этом используются стандарты RFC 1112 и RFC 1458.            В компоненте TIdIPMCastClient реализованы абстрактные методы родительского класса и созданы дополнительные методы, события и обработчик событий для приёма дейтаграмм. Компонент TIdIRC            Компонент TIdIRC (Indy клиент IRC) реализует клиентскую часть сервиса для оперативного обмена информацией с сервером. Компонент TIdIRC является производным от класса TIdTCPClient и реализует клиентскую часть протокола IRC (стандарт RFC 1459).            Протокол IRC разработан для проведения конференций на основе текстовых сообщений с помощью сетевого протокола TCP/IP. Компонент TIdLPR            Компонент TIdLPR (Indy клиент LPR) реализует клиентскую часть протокола LPR (RFC 1179). Этот протокол используется для добавления, удаления файлов и получения информации о режиме удалённого принтера. Компонент TIdNNTPКомпонент TIdNNTP (Indy клиент NNTP) необходим для поддержки клиентской части сетевого протокола NNTP, используемого в службах новостей. Компонент TIdNNTP включает поддержку кодирования и декодирования MIME, а также поддержку многобайтных символов и альтернативных кодировок. Серверный компонент позволяет создавать серверы новостей. Компонент TIdPOP3            Компонент TIdPOP3 используется для отсылки сообщений электронной почты и извлечения их из почтового сервера. В этом компоненте реализованы методы и свойства для получения необходимой информации о размере и содержимом почтового ящика или почтового сообщения. Компонент TIdQOTD            Компонент TIdQOTD используется для поддержки сервиса распространения  коротких сообщений с помощью протокола QUOTD (стандарт RFC 865). С помощью клиентского компонента осуществляется соединение с экземпляром серверного компонента для получения ежедневной цитаты. Каждый экземпляр сервера содержит уникальную базу данных цитат. Компонент TIdQOTDUDP            Компонент TIdQOTDUDP используется для реализации сервиса коротких сообщений на основе UDP (стандарт RFC 865). Компонент TIdRexec            Компонент TIdRexec реализует клиентскую часть протокола Rexec. Протокол Rexec иногда используется для запуска задач с удалённого компьютера, при котором требуется идентификация пользователя. Этот протокол менее защищённый, чем протокол RSH, так как идентификатор пользователя и пароль отсылаются как обычное текстовое сообщение, которое можно перехватить.            Для подключения к удалённому компьютеру используется свойства и методы Host, UserName, Password и Execute. Компонент TIdRSH            Компонент TIdRSH реализует клиентскую часть протокола RSH. Протокол RSH иногда используется для запуска задач из удалённого компьютера без отсылки пароля пользователя. Посылается только идентификатор пользователя.            Для подключения к удалённому компьютеру используется свойства и методы Host, ClientUserName, HostUserName и Execute. Компонент TIdSMTP            Компонент TIdSMTP используется в приложениях, работающих с протоколом SMTP, для обеспечения режима аутентификации, кодирования и декодирования MIME, а также для поддержки многобайтовых символов. Компонент TIdSNMP            Компонент TIdSNMP используется для реализации протокола SNMP. Компонент TIdSNPP            Компонент TIdSNPP является производным от TIdTCPClient. Протокол SNPP является простым протоколом для доставки сообщений как в одном, так и обоих направлениях для страничных устройств. В простейшем случае его можно использовать для соединения Internet с терминалами страничных устройств.            Компонент TIdSNPP реализует одноуровневую поддержку SNPP для доставки сообщений и приёма статуса сообщений на порт номер 7777. Компонент TIdSNTP            Компонент TIdSNTP предназначен для поддержки службы времени по протоколу SNTP. Может использоваться для соединения с любой службой времени с целью получения текущей даты и времени. Компонент TIdSysLog            Компонент TIdSysLog реализует клиентскую часть протокола BSD SysLog (стандарт RFC 3164) для отправки уведомления на сервер SysLog. Протокол SysLog разработан для отправки уведомляющих сообщений в сети. Компонент TIdTelnet            Компонент TIdTelnet используется для организации удалённых сеансов на другом компьютере, включая консольные переговоры и аутентификацию. Протокол связи предполагает наличие человека, осуществляющего интерактивное взаимодействие с сервером. Клиентский компонент не обладает поддержкой дисплея и эмуляцией терминала, а просто обеспечивает соединение с серверной частью. Компонент TIdTime            Компонент TIdTime (Indy время) является альтернативой компонента TIdSNTP для определения времени. Форматы этих двух протоколов различны. Компонент TIdTime основан на формате RFC 868 и возвращает время во внутреннем стандарте ОС UNIX, выполняя все необходимые преобразования. Серверный компонент подобен по функционированию серверу DayTime. Он может использоваться для реализации службы времени на локальном компьютере. Дополнительного кода не требуется, достаточно создать экземпляр класса TIdTimeServer, который будет возвращать время внутренних часов серверного компьютера. Компонент TIdTimeUDP            Компонент TIdTimeUDP является версией UDP протокола времени Time в соответствии со стандартом RFC 868.            Протокол времени Time является простым протоколом для синхронизации времени в локальных сетях. Для получения высокой точности при использовании взаимосвязанных сетей используется компонент TIdSNTP. Для получения текущей даты и времени в удобном формате используется компонент TIdDayTime.            Протокол Time в настоящее время не может обрабатывать даты после 2035 года. Это ограничение стандарта RFC 868. Компонент TIdTrivialFTP            Компонент TIdTrivialFTP необходим для организации простейшего протокола передачи файлов. Клиентский компонент этого протокола используется для соединения с экземпляром соответствующего серверного компонента. Протокол предназначен для локальных случаев передачи файлов, например, в локальных вычислительных сетях или для загрузки/выгрузки таблиц маршрутизации. Из-за упрощенных характеристик этого протокола его использование не рекомендуется в случае применения алгоритмов аутентификации или любых других механизмов защиты. Основное назначение данного протокола – передача файлов аппаратному устройству с целью его модификации. Компонент TIdWhois            Компонент TIdWhois осуществляет соединение с любым стандартным сервером Whois, позволяя получить информацию о доменах. Серверный компонент обеспечивает базовую функциональность сервера NIC. Категория: Языки программирования | Просмотров: 448 увеличение продаж