Premium

Získejte všechny články
jen za 89 Kč/měsíc

S Palm Piloty na internet snadno a rychle

V našem seriálu o programování si uděláme malou vsuvku. Dnes si povíme něco o tom, jak se s Palmy připojit na internet!

V následujícím několikadílném článku na pokračování se programátor dozví, jak se pomocí počítačů Palm Pilot a kompatibilních připojit na internet. Dozví se o knihovně Net.lib podporující příjem a odesílání dat v prostředí internetu, naučí se, jak najít na síti počítač, který hledá, jak se k němu připojit a jak s ním vyměňovat data. Připomene si také, jak je možné k odesílání a příjmu dat v prostředí internetu použít stavové automaty a jak implementovat nejen klienta ale i jednoduchý server.

Seznam demonstračních příkladů:

  1. pripoj.c: připojení k internetu stiskem tlačítka
  2. hledej.c: nalezení IP adresy počítače na internetu
  3. otestuj.c: vyzkoušení, které služby (www, pošta) jsou v provozu na druhém počítači
  4. cas.c: připojí se k serveru a přečte aktuální čas
  5. posli.c: odešle e-mail protokolem SMTP
  6. server.c: promění Palm Pilota v jednoduchý WWW server

Úvod

Už když jsem kupoval svůj první počítač Palm V, byl jsem překvapen rozsáhlou podporou připojení k internetu, kterou operační systém PalmOS nabízel. Zanedlouho poté jsem neodolal pokušení a opatřil jsem si mobilní telefon s infračerveným portem. Připojení k internetu fungovalo na první pokus a byl jsem prostě okouzlen.

Jakmile jsem se naučil základy programování operačního systému PalmOS, začal jsem uvažovat o napsání jednoduchého programu, který by využíval připojení na internet. Během procházení dokumentace a programů od druhých autorů jsem napsal tento článek na pokračování.

Článek je určen pro programátory začátečníky, kteří mají alespoň minimální zkušenosti nejen s programovacím jazykem C/C++, ale i s programováním pro PalmOS. Budu stavět na základním a zjednodušeném popisu IP adres a internetových protokolů. Pokud nevíte, co označuje zkratka TCP/IP, SMTP nebo POP3, nebo kolik číslic oddělených tečkami má IP adresa, tak se před čtením tohoto článku podívejte tam, kde je to vysvětleno.

Abyste si mohli programy popsané v tomto článku vyzkoušet, budete potřebovat počítač Palm Pilot nebo kompatibilní, mobilní telefon nebo modem pro připojení k internetu a účet. Nebudu se věnovat detailům nastavení počítače Palm Pilot - již to za mne udělali jiní. Než se dostaneme k pokročilejším tematům, doporučuji vám vyzkoušet si připojení na internet v jiných programech. Osaháte, si jak připojení na internet funguje, a budete přesně vědět, kde je co potřeba nastavit.


1. Připojení k internetu a knihovna Net.lib

Od verze operačního systému PalmOS 2.0 je jejich součástí možnost připojení k internetu. Operační systém PalmOS je rozčleněn na podjednotky (pro správu paměti, databází a podobně) a jedna z těchto podjednotek zajišťuje i práci s internetem. Budeme ji nazývat síťový manažer.

Síťový manažer zajišťuje připojení a odpojení od internetu podle parametrů, které můžete nastavit v aplikaci Preferences. Poté, co je Palm Pilot připojen k internetu, zajišťuje síťový manažer komunikaci protokolem TCP/IP.

Z hlediska programátora se síťový manažer chová stejně jako transportní mechanismus nazvaný BSD Sockets. O tom, jak toto rozhraní funguje, budeme psát později. Zjednodušeně řečeno představují BSD Sockets mechanismus komunikace, použitelný pro všechny protokoly, včetně protokolu TCP/IP používaného v síti internet. BSD Sockets byly poprvé použity v BSD Unixu a poté se rozšířily jako standardní programátorský nástroj na všechny systémy Unix/Linux.

Při navrhování operačního systému PalmOS verze 2.0 zvolila společnost 3Com právě BSD Sockets jako základ pro síťového manažera. Pro programátora, zvyklého na programování internetových aplikací v prostředí Uix/Linux, bude programování internetových aplikací pro PalmOS velmi snadné.

Všechny funkce síťového manažera jsou uloženy v knihovně Net.lib v paměti ROM. Knihovna Net.lib je automaticky inicializována při restartu počítače. Před prvním použitím knihovny Net.lib musíme zjistit její referenční číslo funkcí SysLibFind().

    UInt16 gNetLibReference;
	     
    err = SysLibFind("Net.lib", &gNetLibReference);
	
    if(err == 0 )
    {
        // USPECH
    }
    else
    {
        // Chyba - knihovna není v operačním systému přítomná 
        // (verze PalmOS 1.0) nebo došlo k chybě inicializace.	
    }

Referenční číslo knihovny Net.lib budeme v programu potřebovat, a proto jej uložíme do globální proměnné gNetLibReference. Všechny síťové funkce budou vyžadovat toto referenční číslo jako první parametr.

Volání funkce SysLibFind() slouží také k bezpečnému zjištění, zda operační systém počítače, na kterém je aplikace spuštěna, obsahuje podporu připojení na internet. Pokud funkce SysLibFind() vrátí jinou než nulovou hodnotu, není možné použít připojení k internetu prostřednictvím knihovny Net.lib.

Nejlepší místo pro volání funkce SysLibFind() je ve funkci ZacatekAplikace(), která je volána před vstupem do smyčky zpracování událostí. Vzhledem k tomu, že knihovna již byla inicializována po startu počítače, není ji potřeba v odpovídající funkci KonecAplikace() nijak uvolňovat.

Jednotlivé přednastavené metody připojení k internetu jsou uloženy v panelu nastavení (aplikace Preferences). Manažer připojení v sobě obsahuje moduly interface: každý modul interface popisuje jeden z nastavených způsobů připojení na internet. Toto připojení může být realizováno například modemem připojeným na sériový port, mobilním zařízením v dosahu infračerveného portu a podobně.

Funkce Net.lib zprostředkuje veškerou komunikaci programátora s popsanými moduly interface. Programátor (ani uživatel) se nemusí zatěžovat zadáváním informací o připojení. Situaci ilustruje následující obrázek:

Knihovna Net.lib umožňuje zvolit, který modul interface bude k připojení použit. Pokud však použijeme k připojení na internet standardní funkce, popisované v tomto článku, bude připojení realizováno prostřednictvím standardního modulu interface.


Příště si ukážeme, jak se stisknutím tlačítka na internet připojit a stisknutím jiného tlačítka zase z internetu odpojit.

  • Nejčtenější

Spotem s Trojanem na horách operátor popudil Poláky. Nerozuměli nadsázce

21. dubna 2024  8:01

Po dvojici Vojtěch Kotek a Lukáš Pavlásek, k níž později přibyl Jakub Kohák, vsadil T-Mobile ve...

Je to už spíš foťák s mobilem a opravdu se povedl. Test Xiaomi 14 Ultra

21. dubna 2024

Prémiový smartphone Xiaomi 14 Ultra působí mezi současnou nabídkou mobilů jako unikát. Jaký jiný...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Toto zařízení mělo nahradit mobily. V recenzích se mu vysmáli

23. dubna 2024

Novinka s názvem Humane AI Pin se zdála být převratným zařízením. V mnoha ohledech měla nahradit...

Vodafone měl výpadek, někteří zákazníci se nemohli dovolat

25. dubna 2024  10:03,  aktualizováno  10:15

Síť mobilního operátora Vodafone postihl ráno výpadek. Týkal se části zákazníků, kteří se nemohli...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Operátoři zahušťují pokrytí Česka signálem 5G. Máte ho doma? Podívejte se

20. dubna 2024

Premium V červenci to budou již čtyři roky, co byla v Česku spuštěna první komerční 5G síť. Zatímco v...

Xiaomi už se nebude držet zpátky. Pro řadu T chystá další prémiové funkce

26. dubna 2024

Smartphony řady T od Xiaomi mají vždy parádní výbavu, ale zároveň i pár kompromisů, aby trochu...

Vodafone měl výpadek, někteří zákazníci se nemohli dovolat

25. dubna 2024  10:03,  aktualizováno  10:15

Síť mobilního operátora Vodafone postihl ráno výpadek. Týkal se části zákazníků, kteří se nemohli...

Toto mohl být nevídaný smartphone. Myšlenku však nakonec poslali k vodě

25. dubna 2024

S takovým smartphonem bychom už nikdy nemuseli řešit, že se zpomaluje, nemá dostatek paměti či je...

Samsung má povedenou stylovku. Zkusí to s ní na trhu, kde se mu nedaří

24. dubna 2024

Samsung po velmi dlouhé době oprášil modelovou řadu Galaxy C a představil stylový smartphone se...

Akční letáky
Akční letáky

Všechny akční letáky na jednom místě!

Bývalý fitness trenér Kavalír zrušil asistovanou sebevraždu, manželka je těhotná

Bývalý fitness trenér Jan Kavalír (33) trpí osmým rokem amyotrofickou laterální sklerózou. 19. dubna tohoto roku měl ve...

Herečka Hunter Schaferová potvrdila románek se španělskou zpěvačkou

Americká herečka Hunter Schaferová potvrdila domněnky mnoha jejích fanoušků. A to sice, že před pěti lety opravdu...

Největší mýty o zubní hygieně, kvůli kterým si můžete zničit chrup

Možná si myslíte, že se v péči o zuby orientujete dost dobře, přesto v této oblasti stále ještě existuje spousta...

Tenistka Markéta Vondroušová se po necelých dvou letech manželství rozvádí

Sedmá hráčka světa a aktuální vítězka nejprestižnějšího turnaje světa Wimbledonu, tenistka Markéta Vondroušová (24), se...

Za vytlačení z linky do Brna musí Student Agency zaplatit náhradu 21 milionů

Společnost Student Agency provozující autobusy a vlaky pod označením RegioJet musí zaplatit bývalému konkurentovi 21...