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

TP-Link Neffos X1 Max
Vyrábí hlavně routery, teď se vrhli na smartphony. A docela jim to jde

Při pohledu na značku TP-Link si mnoho z nás vzpomene na logo na domácím routeru, ovšem asi málokdo si ji spojí se smartphonem. To se však může brzy změnit,...  celý článek

Alcatel Pop 4 (6)
Smartphonový Obr XXL za rozumné peníze. Test Alcatel Pop 4 (6)

Značka Alcatel dodává na trh celou řadu cenově atraktivních smartphonů, které přitom nesahají ke zbytečným kompromisům. Na první pohled je takovým přístrojem i...  celý článek

Android 8 se bude jmenovat po sušenkách Oreo
Android O se bude jmenovat po slepovaných sušenkách

Už je to (skoro) jasné. Nový Android, zatím známý jako O, se bude jmenovat po slepované sušence Oreo. Alespoň tomu vše nasvědčuje.   celý článek

Podobu iPhonu 8 potvrdil řetězec McDonald’s.
Hamburgerový král prozradil podobu iPhonu 8 s vykrojeným displejem

Představení chystaného výročního iPhonu se blíží. Řada vlastností už byla potvrzena. Nyní přichází další, a to od neočekávaného zdroje. Vzhled telefonu...  celý článek

Sony Xperia XZ1
Klasika bez výstředností a se skvělou výbavou. Nové top Sony se blíží

Sony si drží svůj styl a zavádění nových designových prvků nechává jiným. Proto i chystaná Xperia XZ1 bude konzervativně vypadající smartphone, ovšem se...  celý článek

Další z rubriky

Ilustrační snímek
Facebook a Snapchat jsou zabijáci výkonu smartphonů s Androidem

Je jednou z nejčastěji instalovaných mobilních aplikací, současně však i jednou z těch, které nejvýrazněji ovlivňují výkon androidích smartphonů. Na rychlosti...  celý článek

Ilustrační snímek
Na dovolené se můžete seznámit i nespálit

Na dovolenou si bereme kde co, ovšem počítač/notebook často zůstává doma. Ten je na jedné straně prostředkem k pohodlnému přístupu k informacím, na druhé pak k...  celý článek

Find Wifi funkce na Facebooku
Ušetříte za mobilní data. Facebook vám ukáže bezplatnou wi-fi

V aplikaci sociální sítě Facebook se objevila nová užitečná funkce - dovede vás nasměrovat k nejbližší veřejné wi-fi síti.  celý článek

Mercedes Třída E 3,0 350d...
Mercedes Třída E 3,0 350d...

r.v. 2016, naj. 17 430 km, diesel
1 352 624 Kč (s DPH)

Najdete na iDNES.cz



mobilní verze
© 1999–2017 MAFRA, a. s., a dodavatelé Profimedia, Reuters, ČTK, AP. Jakékoliv užití obsahu včetně převzetí, šíření či dalšího zpřístupňování článků a fotografií je bez souhlasu MAFRA, a. s., zakázáno. Provozovatelem serveru iDNES.cz je MAFRA, a. s., se sídlem
Karla Engliše 519/11, 150 00 Praha 5, IČ: 45313351, zapsaná v obchodním rejstříku vedeném Městským soudem v Praze, oddíl B, vložka 1328. Vydavatelství MAFRA, a. s., je členem koncernu AGROFERT.