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ší

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...}

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...

Váš iPhone může být hacknut, varuje Apple uživatele v desítkách zemích

27. dubna 2024

Jednotlivci z řad uživatelů iPhonů z více než devadesáti zemí světa obdrželi ve středu 10. dubna od...

{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...}

Dětem neprodáváme. Britské děti si dost možná už smartphone nekoupí

27. dubna 2024

Premium Britští ministři zvažují přijetí zákona, který by omezoval prodej smartphonů. Jsou totiž...

Další chytrý prsten na obzoru. Má být levný a ještě vám posvítí na cestu

29. dubna 2024

Společnost Black Shark představila pro domácí, čínský trh vlastní chytrý prsten. Model Black Shark...

Do konce měsíce výhodná střední třída. Test smartphonu Vivo V40 SE

28. dubna 2024

Vivo uvedlo do střední třídy smartphonů zajímavý stylový model V40 SE. Ten je důkazem toho, jak...

Dětem neprodáváme. Britské děti si dost možná už smartphone nekoupí

27. dubna 2024

Premium Britští ministři zvažují přijetí zákona, který by omezoval prodej smartphonů. Jsou totiž...

Váš iPhone může být hacknut, varuje Apple uživatele v desítkách zemích

27. dubna 2024

Jednotlivci z řad uživatelů iPhonů z více než devadesáti zemí světa obdrželi ve středu 10. dubna od...

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...

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...

Horňáci versus dolňáci. Víme, čemu muži dávají přednost, a je to překvapení

Ženské tělo je pro muže celkově velmi atraktivní a nabízí jejich očím mnoho zajímavých partií. Největší pozornosti se...

Hello Kitty slaví padesátiny. Celý svět si myslí, že je to kočička, jenže není

Kulatý obličej se dvěma trojúhelníkovýma ušima, drobný čumáček, vousky a červená mašle na uchu. Taková je Hello Kitty,...

KOMENTÁŘ: Z Davida Černého se stal parazit. O umění už dávno nejde

Premium Když se David Černý v televizi pohádal s kurátorkou Marií Foltýnovou, spory o jeho plastiku na obchodním domě Máj...