Klávesové zkratky na tomto webu - základní
Přeskočit hlavičku portálu

S Palm Piloty na internet snadno a rychle

aktualizováno 
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ší

Takto vypadá boj o zákazníky: pětkrát více dat a úhrada smluvní pokuty

Slovenský operátor O2 navýšil základní data u vybraných tarifů

Od revoluce v roce 2013 zažívá český mobilní trh spíše menší otřesy, zákazníci operátorů toužící po neomezeném tarifu s...

Konkurence se trefuje do „předražených“ nových iPhonů

Všechny tyto produkty Xiaomi stojí stejně, jako nový model iPhone XR

Na vysoké ceny novinek od Applu reagovali konkurenti poněkud posměšnými nabídkami. Ukazují v nich, co všechno z jejich...



Feministky kritizují nové iPhony. Jsou moc velké na ženskou ruku

iPhone XS/XS Max

Od doby, kdy Apple upustil od malých smartphonů, úhlopříčka nových modelů prudce narůstá. Nejnovější model ve verzi Max...

Nejnovější hodinky Apple Watch se povedly. Změří i elektrokardiogram

Apple představil Watch Series 4 s většími displeji a senzorem pro měření EKG

Přestože byly hlavními hvězdami tiskové konference Applu nové iPhony, zájem vzbudila i další generace chytrých hodinek....

Prohlédněte si nejlepší a nejdražší iPhone. Máme ho jako první

iPhone XS Max

Stejně jako v předchozích letech jsme se i letos vypravili do Německa, abychom mohli vyzkoušet nejnovější smartphone od...

Další z rubriky

Bez reklamy ani ránu. Bude už i na Facebook Messengeru v mobilu

Mobilní Messenger projde změnou, k nelibosti uživatelů v něm budou cílené...

Oblíbený mobilní kecálek se brzy promění. Facebook totiž do Messengeru po úspěšném testování implementuje cílené...

Aplikace ukazovala otravující čísla. Data kradl antivir přímo z mobilů

Škodlivý kód Cooligan napadá zařízení s Androidem 4 a 5

Zajímavý model vymyslelo studio DU. Jedna jejich android aplikace ukazovala, kdo volá, včetně obtěžujících čísel...

Vyrážíte na dovolenou? Tyto aplikace by neměly chybět ve vašem mobilu

Ilustrační snímek

Mobilní aplikace jsou dnes v mnoha případech neodmyslitelným pomocníkem v celé řadě situací a letní cestování a...

Najdete na iDNES.cz