Re: Jak udělat web server

Milan B. milan na bastl.sk
Pondělí Květen 23 13:31:59 CEST 2016


On 5/23/2016 12:36 PM, Jan Matuska wrote:
> Pokud by nevadila velikost stránky, tak doporučuji použít knihovnu 
> jquery a pak hledat AJAX. Celé to funguje tak, že se Vám načte hlavní 
> stránka, na pozadí se spustí časovač v JS, který si periodicky pomocí 
> GETu dotáhne data a přepíše s nimi příslušná políčka. Pomocí jquery je 
> to opravdu hodně jednoduché.
>
> Např.:
> http://stackoverflow.com/questions/220767/auto-refreshing-div-with-jquery-settimeout-or-another-method 
>
>
> Jediné co budete muset vyřešit navíc je nacpat do jednoho dotazu více 
> hodnot - pak buď CSV (hodnoty oddělené středníkem) nebo lépe JSON. Na 
> to má jquery taky podporu, takže to uděláte celkem rychle.
>

Samozrejme, pouzit megabajty kniznic je cool a in.

Ale da sa to aj bez nich - nasledujuci priklad bezi nazivo na 
https://static.bastl.sk/rozne/test.html , :

<html>
<head>
<script>
function newData() {

   var xhttp = new XMLHttpRequest();

   xhttp.onreadystatechange = function() {
     if (xhttp.readyState == 4 && xhttp.status == 200) {
      res=JSON.parse(xhttp.responseText);
      document.getElementById("serverdate").innerHTML = res.date;
      document.getElementById("servertime").innerHTML = res.time;
     }
   };
   xhttp.open("GET", "servertime.php", true);
   xhttp.send();

} </script>
</head>
<body onLoad="setInterval(newData, 3000)">
Server date: <b><span id="serverdate"></span></b><br/>
Server time: <b><span id="servertime"></span></b>
</body>
</html>


servlet servertime.php vracia cas v JSON tvare:

{
   "date" : "23.05.2016",
   "time" : "13:13:35"
}

Funguje to pre Firefox, pre MSIE roznych verzii treba vyriesit 
kompatibilitu (Microsoft.XMLHTTP vs XMLHttpRequest),  pripadne 
parsovanie JSON, je toho plny google...  (jasne, tie megabajty kniznic 
to uz riesia)

-m-


> JM.
>
>
> Dne 23.05.2016 v 12:23 Martin Záruba napsal(a):
>> Dík, už to funguje. Mám ještě jeden problém, napsal jsem jej do 
>> konference o W, protože mi už připadal moc OT, ale nikdo neodpověděl, 
>> tak si dovolím tady (a předem se omlouvám):
>>
>> Nyní běží web server pokusně tak, že se po cca 10s stránka obnoví a 
>> zobrazí se nový obsah. Stránka je primitivní, tak to není problém. 
>> Rád bych to ale udělal tak, že se nejprve stáhne stránka se vším 
>> "krásnem" a pak by se přepisovaly jen hodnoty v příslušných 
>> políčkách. Je mi jasné, že javascript umí přepsat obsah políčka, ale 
>> jak udělat, aby si řekl o data ze serveru? Server nyní odpovídá na 
>> příkaz "get", ale v podstatě může fungovat jakkoli. Jen nevím, zda a 
>> jak by měl vypadat javascript. Poradíte?
>>
>> Martin Záruba
>>
>> Dne 22.5.2016 v 7:52 iko napsal(a):
>>> Do prihlasovacej stranky dat do formu session id. Napr:
>>> <input type="hidden" name="sesid" value="jdj3ndjn49f83hnxh37" />
>>> On to potom posle s prihl.udajmi pri dalsom spojeni. Podla toho ho 
>>> potom identifikujete, samozrejme si to musite niekde pametat.
>>>
>>> Dňa 22. mája 2016 6:42:42 SELČ používateľ "Martin Záruba" 
>>> <swz na volny.cz> napísal:
>>>
>>>     Vytvářím program, který se mimo jiné bude chovat jako velmi 
>>> jednoduchý
>>>     web server, který bude poskytovat nasnímaná data. Data jsou z 
>>> několika
>>>     zdrojů, každý má svou identifikaci.
>>>
>>>     Představoval jsem si to tak, že při otevření stránky se server 
>>> zeptá na
>>>     identifikaci a po kontrole správnosti bude dodávat příslušná data.
>>>     Problém je v tom, že webový prohlížeč po zobrazení stránky s 
>>> přihlášením
>>>     pošle uzavření socketu a při stisku tlačítka Odeslat, které je na
>>>     stránce se znovu připojí a odešle odpověď, ale je to již jiný 
>>> socket,
>>>     takže já nevím, že patří k tomu prvnímu zobrazení. Jak to 
>>> udělat, aby
>>>     prohlížeč buď socket neuzavíral nebo abych mohl nějak zjistit, 
>>> které
>>>     přihlášení patří ke kterému dalšímu připojení prohlížeče?
>>>
>>>
>>> -- 
>>> iko
>>>
>>> Tento email neobsahuje virusy, pretoze nepouzivam MS Windows.
>>>
>>>
>>> _______________________________________________
>>> HW-list mailing list  -  sponsored by www.HW.cz
>>> Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>> ---
>> Tato zpráva byla zkontrolována na viry programem Avast Antivirus.
>> https://www.avast.com/antivirus
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list




Další informace o konferenci Hw-list