Užitečné komponenty pro Delphi a C++ Builder, díl 14.

Dnes si představíme balík komponent, které se zabývají prací s internetovými protokoly a souvisejícími funkcemi. S tímto balíkem si můžete naprogramovat například vlastního poštovního klienta, FTP server a podobně.
Indy

Indy, neboli Internet Direct, je velmi známá a populární kolekce komponent pro Delphi, C++ Builder a Kylix, která svým zaměřením pokrývá snad všechny oblasti týkající se internetových protokolů a služeb, a to jak v klientské, tak serverové podobě. S tímto balíkem pro vás nebude opravdu problém vytvořit téměř libovolnou internetovou aplikaci.

Popsat takto rozsáhlý balík je opravdu těžké, vždyť jen manuál v PDF má téměř 350 stránek detailního popisu jednotlivých struktur a po instalaci se vám vytvoří tři nové záložky plné komponent.

Uděláme si tedy stručný popis jednotlivých jednotek, ze kterého si můžete udělat alespoň rámcovou představu o tom, jak velký záběr tento balík má. Pochopitelně to bude popis jen nejzákladnějších částí, ale věřte, že snad není oblast týkající se Internetu, kterou by komponenty nezvládly.

Zde je tedy krátký výběr důležitých jednotek s krátkým popisem:

  • IdDayTime - jednotka, která implementuje DayTime protokol
  • IdFinger - implementace protokolu Finger, který – jak jistě víte – umožňuje získávat informace o uživatelích
  • IdFTP - opět soubor funkcí a procedur, které tentokráte zvládají protokol FTP
  • IdGopher - používá dnes ještě vůbec někdo tento protokol? :)
  • IdHTTP - netřeba představovat, naprostý základ
  • IdHTTPServer - potřebujete si vytvořit vlastní server?
  • IdIrcServer - implementace funkcí IRC serveru
  • IdMessage - řada funkcí a procedur potřebných pro práci se zprávami a přílohami
  • IdMIMETypes - definice a podpora MIME typů
  • IdPOP3 - jistě netřeba představovat, nedílná součást poštovních klientů
  • IdSimpleServer - jednoduchý TCP server
  • IdSMTP - implementace SMTP protokolu (odchozí pošta)
  • IdTelnet - procedury a funkce na implementaci Telnet klienta
  • IdWhois - Whois protokol
Toto je jen velice stručný (!!) výběr několika knihoven a popis je pochopitelně také jen povrchní, protože nemáme prostor pro detailní popis a navíc si zřejmě každý dovede dobře představit, co jednotlivé (nebo alespoň ty základní) protokoly představují a umožňují.

Kromě velice rozsáhlé a detailní dokumentace, kterou si můžete stáhnout hned v několika formátech, si můžete stáhnout taktéž řadu demoprojektů. Ty vám mohou posloužit jako velmi dobré příklady použití jednotlivých komponent a knihoven, takže si i začátečník může snadno otestovat některé základní funkce. Jedná se vlastně o hotové funkční aplikace daných protokolů; po menších úpravách jsou celkem dobře použitelné i ve vlastních aplikacích a nebo mohou posloužit jako slušný základ pro další rozšiřování, takže nemusíte pracovat od nuly. Mezi těmito demoprojekty je například:

Finger Demo - Jednoduchá aplikace demonstrující použití právě tohoto protokolu. Po zadání dotazu (obvykle ve formě emailové adresy) vypíše informace o daném uživateli. Podmínkou je pochopitelně podpora ze strany serveru.

FTP Demo - Jedná se o jednoduchou aplikaci klientské části FTP protokolu. Vlastně je to jednoduchý FTP klient, pomocí kterého se můžete snadno napojit na server a stahovat či posílat soubory. Většina složitého programování je právě jaksi skryta pod povrchem a vy jen nastavíte základní parametry a případně uživatelské rozhraní.

Mail Demo - Chcete si vytvořit vlastního mailového klienta ve stylu Outlooku? To by vám dalo samozřejmě dost práce, ale jednoduchého a funkčního mailového klienta si můžete vytvořit téměř během několika minut, což jasně dokládá toto demo, pomocí kterého můžete poštu jednoduchým způsobem posílat a přijímat (přes POP3). Rozhodně dobrý příklad pro další experimentování.

Telnet Demo - Opět plně funkční, i když samozřejmě jednoduchý a ukázkový telnet klient.

TraceRoute Demo - Chcete-li zjistit, kudy putují data na daný server, jistě znáte programy typu TraceRoute. Ty vám vypíší celou cestu od vás až k danému serveru v podobě IP adres daných serverů, přes které je spojení uskutečněno. A to právě demonstruje tento příklad.

A mnoho dalších. Na těchto aplikacích se můžete dost naučit o používání tohoto balíku komponent a knihoven; alespoň v počátku vám ukáže způsob práce s těmito protokoly. Zájemci se mohou dále vzdělávat z přiloženého manuálu a pronikat do tajů internetových protokolů (či spíše jejich implementace v tomto balíku).

Pokud patříte k těm, kteří se nespokojí s pouhým užíváním hotového a sami rádi tvoří, můžete se pokusit i upravit zdrojové kódy, které máte k dispozici (i když nevím, jak přesně se to slučuje s licenčními podmínkami, takže si je případně prostudujte).

Co říci závěrem? Opět jeden z velmi povedených a profesionálních balíků, který má již značné renomé (přečtěte si na stránce autorů seznam organizací a firem, které jej nějakým způsobem používají), a nutno konstatovat, že právem.

www
verze: 8.0 (dostupná již verze 9.0 beta)
Delphi: 4, 5, 6 (389 kB)
C++ Builder: 4, 5 (389 kB)
Kylix

Diskuze (2) Další článek: Tři servery Microsoftu hacknuty

Témata článku: , , , , , , , , , , , , , , , , , , , ,