Komunikace s TISem

Komunikace mezi TISem a dynamickými HTML stránkami probíhá standardně formátovanými řetězci ve formátu Key1=Value1&Key2=Value2&...&KeyN=ValueN, kde Key je jméno položky a Value hodnota položky. Jména klíčů jsou předdefinována. Řetězce s tímto formátem jsou používány pro zadávání hodnot i jako odpověď TISu.

TIS při zpracování požadavku generuje dočasné soubory *.GIF (*.JPG), *.XML a *.HTML), které slouží dynamickým HTML stránkám k získávání potřebných informací o zobrazovaných datech. V rastrových souborech (GIF nebo JPG) je uložen pohled na požadovaná data, v souboru XML je uložen výpis databázových atributů zobrazovaných dat a v souboru HTML je uložena klikací mapa (element <MAP> dle definice HTML) pro zobrazovaná data. Tyto soubory jsou ukládány do adresáře specifikovaného v INI souboru TISu (viz. kapitola Popis souboru INI). Po uplynutí doby určené také v tomto INI souboru je TIS automaticky maže. Soubory jsou pojmenovávány jako kontinuální řada osmimístných čísel v žestnáctkové soustavě s příslušnou příponou (00000000.* - FFFFFFFF.*). Po překročení hodnoty FFFFFFFF jsou soubory pojmenovávány znovu od nuly. Součástí odpovědi TISu na požadavek je vždy jméno dočasného souboru.

Způsoby komunikace

Komunikovat s TISem lze dvěma způsoby:

Komunikace pomocí socketů

S TISem lze komunikovat pomocí socketů na zvoleném portu (číslo portu lze zadat v souboru TLINTSVR.INI). Komunikaci pomocí socketů lze použít například v jazyce PHP.

Příklad komunikace s TISem v jazyce PHP

..
<?
  //Adresa počítače na kterém běží TIS
  $socketAdr = nekdo.nekde.cz;

  //Port na kterém TIS komunikuje
  $socketPort = 5001;

  //Sestavení požadavku
  $request = TLSRV00087Tema=Mesta&Oper=1&SubTema=S1&GifJpg=0&Vmin=0&Hmin=0;
  $request .= &Dvert=0&Dhorz=0&RasDx=640&RasDy=480;

  //Otevření socketu
  $fp = @FSockOpen($socketAdr, $socketPort, $errCode, $errNumber);
  if ($fp):
    //Pokud se podaří socket otevřít

    //Odeslání požadavku
    FPutS($fp, $request);

    //Přečtení výsledku
    $result = FGetS($fp, 2049);

    //Zpracování výsledku
    echo "Returned string: $result";

    //Zavření socketu
    FClose($fp);
  else:
    //Socket se nepodařilo otevřít
    echo "Error: $errNumber - $errCode";
  endif;
?>
..

Komunikace pomocí COM objektu

S TISem lze také komunikovat pomocí COM objektu AspTisX.AspTisObj. Tento COM objekt lze s výhodou použít v jazyce ASP.

Příklad komunikace s TISem v jazyce ASP

..
<%@ LANGUAGE="JScript" CODEPAGE="1250" %>
<%
  var Request, Result = "";

  //Sestavení požadavku
  Request = "Tema=Mesta&Oper=1&SubTema=S1&GifJpg=0&Vmin=0&Hmin=0;"
  Request +="&Dvert=0&Dhorz=0&RasDx=640&RasDy=480";

  //Vytvoření COM objektu
  var ObjTis = Server.CreateObject("AspTisX.AspTisObj");

  //Odeslání požadavku
  ObjTis.Execute(Request);

  //Čtení odpovědi
  Result = ObjTis.Result;
%>
..

Související témata

Zadávání požadavků, Vyřizování požadavků, Popis tématu

© 2000 TopoL Software s.r.o. Všechna práva vyhrazena.