Úterý 3. srpna 2021, svátek má Miluše
  • schránka
  • Přihlásit Můj účet
  • Úterý 3. srpna 2021 Miluše

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

Používáte ji také? Druhá aplikace pokořila rekordních 10 miliard stažení

Operační systém Android má dalšího aplikačního rekordmana v počtu stažení z obchodu Google Play. Aplikaci, jejíž počet...

Vyzkoušeli jsme revoluční novinku: telefon s rolovacím displejem uchvátí

Už při prvních zprávách o ohebných displejích začali konstruktéři i uživatelé snít o telefonu s rolovacím displejem....

Získejte zdarma Samsung Galaxy S21 5G. Přečtěte si, jak na to

Premium Nejnovější modely řady Samsung Galaxy S vás spojí s celým světem, umožňují sdílet špičkové fotografie a videa, pyšní se...

Vyplňte formulář. Každý navrátilec do Česka dostane SMS s výzvou

Češi vracející se ze zahraničí obdrží nově uvítací SMS, která je informuje o potřebě vyplnit Příjezdový formulář. SMS...

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

Úplně obyčejný mobil ukrýval zlatý poklad. Přes celníky neprošel

Ve statisícovou záležitost proměnil muž obyčejný mobil. V jeho útrobách se totiž snažil do své vlasti propašovat stovky...

Mnoho Rusů v sobě skrývá ukřivděného a žlučovitého Rusáka, říká cestovatel

Premium Na východě leží obrovská země, kterou jsme ještě před 30 lety museli povinně milovat. Fero Richard Hrabal-Kronďák ji...

Správnou technikou dýchání můžeme předejít i bolesti zad, radí fyzioterapeut

Premium Dýchání je provázané s tím, jak se člověk cítí. „Propojení dechu a emocí je neuvěřitelné,“ říká uznávaný fyzioterapeut...

Zmrzlinová mapa Česka. Přinášíme čtyřicet tipů, kde si dát blaho v kornoutu

Premium Zmrzliny jsou sladké, pikantní, plné ovoce nebo čabajkové, ze smetany či veganské, ale vždy řemeslně připravené a...

  • Další z rubriky

Xiaomi chystá vlastní skládačku po vzoru Samsungu. Má být ještě letos

Skládací smartphony jsou novým mobilním trendem. A to navzdory faktu, že jde dosud o spíše okrajovou záležitost pouze...

Aplikace eRouška startuje. Řekne hygienikům, s kým se nakažený setkal

S vyhledáváním lidí, kteří byli v kontaktu s člověkem nakaženým koronavirem, pomůže hygienikům nová aplikace eRouška....

Informace o koronaviru v Česku na jednom místě. Vznikla speciální aplikace

V Česku vznikla centrální platforma, která přináší aktuální klíčové a ověřené informace o koronaviru přímo v mobilu....

Praha udělá z Lítačky městskou navigaci. Zvládne i alternativní dopravu

Dostat se z bodu A do bodu B má být pro Pražany a návštěvníky metropole mnohem snazší. Město připravuje vlastní...

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

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

Orgasmy předstírám. Muži to mají horší, říká pornoherečka Daisy Lee

Karolína Urbanová (23), známá pod uměleckým jménem Daisy Lee, patří k nejznámějším českým pornoherečkám. Dcera bývalé...

Zemřel herec Vladimír Marek, roky bojoval s rakovinou

V nedožitých 70 letech zemřel ve čtvrtek divadelní, muzikálový i televizní herec Vladimír Marek. Podle Blesk.cz se od...

Teď už se nestává, že bych si místo peněz odvezl auto, říká podnikatel

Táta Ivo byl původně horníkem, syn stejného jména automechanikem. Hned po revoluci skočili rovnýma nohama do podnikání...

Dubrovník se konečně připojil ke zbytku země, most se vyhýbá Bosně

Připevněním posledního segmentu budovaného mostu na poloostrov Pelješac se ve čtvrtek spojila dosud oddělená oblast...

Blbé komentáře a narážky se snažím nevnímat, říká Natálie Grossová

Osmnáctiletá Natálie Grossová promluvila o negativních komentářích na sociálních sítích i o slavném příjmení, které by...