<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[SDS PLC/PAC: Měření Energie & OnlineTechnology.cz - [vyřešeno] dlouhá odezva http_get s odpovědí]]></title>
	<link rel="self" href="https://forum.sds.an-d.cz/extern.php?action=feed&amp;tid=941&amp;type=atom" />
	<updated>2019-03-12T17:24:10Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.sds.an-d.cz/viewtopic.php?id=941</id>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] dlouhá odezva http_get s odpovědí]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=6557#p6557" />
			<content type="html"><![CDATA[<p>opravdu je to tak <br />nebylo mi to jasne protoze Firefox mi na nic necekal a v sitove http komunikaci&nbsp; to tim&nbsp; &quot;HTTP 200 OK&quot; konci.<br />Ale ve wiresharku je videt jeste nejaka odezva v TCP po tech peti sekundach .Nicmene je to opravdu proto,<br />ze SDS ceka jeste nejaka dalsi data .Problem je proto resitelny tim ze dam pro komunikaci s http serverem <br />jednotnou delku retezce jak pro SDS tak pro http server&nbsp; napr&nbsp; receivedDataSize=3&nbsp; &nbsp;pro &quot;N&quot;<br />moc dekuji</p>]]></content>
			<author>
				<name><![CDATA[kocour66]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=11731</uri>
			</author>
			<updated>2019-03-12T17:24:10Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=6557#p6557</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] dlouhá odezva http_get s odpovědí]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=6556#p6556" />
			<content type="html"><![CDATA[<p>Takže jsem to vyzkoušel. Stačil k tomu prakticky jenom Wireshark.</p><p>Jak pro SDS, tak pro PC (Firefox) se to celé chová časově úplně stejně. <br />Tzn. je tam to zpoždění tak jak se vám nelíbí, bez ohledu na zařízení (PC, SDS, atd).<br /><em>SDS se chová správně a chyba v něm není.</em></p><p><strong>Je tam &quot;zpoždění&quot; na straně serveru:</strong><br />poté co server vyšle paket s &quot;HTTP 200 OK&quot;, a přijemce tento paket ihned potvrdí (TCP ACK), <br />trvá serveru dalších 5 sekund (!) než udělá něco dalšího (např. zavře TCP spojení).<br />&quot;Na vině&quot; bude nejspíše nastavení serveru v oblasti Connection:Keep-Alive.<br />Samozřejmě že dokud TCP spojení není uzavřeno, tak SDS čeká na příjem dat (do počtu, který jste ve svém programu nastavil), nebo čeká na uzavření spojení (timeout na straně SDS což je 45sec, nebo uzavření ze strany serveru, což je v tomto případě změřených 5sec).</p><p>Pozor ale, je to vlastnost respektive nastavení serveru, není to chyba.</p><br /><p><span class="bbu">Poznámka:</span><br />SDS je naopak v jedné záležitosti <strong>rychlejší</strong> (tj. umí něco, co např. na PC ani nejde):<br />a to když se mu dá příkaz nečekat na http data. <br />V takovém případě SDS slušně a správně uzavře spojení samo hned po HTTP200OK/ACK a pak si pokračuje ve své činnosti,<br />takže se pak zdá že je celá věc mnohem rychlejší.</p><p><span class="bbu">Bližší popis toho co se děje:</span><br />Podle zdrojového FC kódu vašeho testovacího programu, říkáte SDS ať čeká na 5 datových bajtů ze serveru. <br />Podle zachycené odpovědi posílá váš server jen 3 bajty (tyto tři znaky: &quot;N&quot;), takže SDS správně čeká na zbylé dva (které ale nepřijdou; a server po pěti vteřinách sám ukončí spojení a tím také odblokuje SDS, které pak správně hlásí že přijalo 3 znaky). <br />Samozřejmě nastavení 5 nebo více znaků je v pořádku, pokud ze serveru přijde méně tak je to také platná odpověď a SDS to zpracuje a předá správně. <br />Jen je potřeba si uvědomit, že takto nastavený server způsobí čekání na straně SDS, což je vše přesně podle specifikace.</p><br /><p><em>Pro zajímavost</em>, udělejte si vlastní záchyt pomocí wiresharku u sebe doma.<br />A nepotřebujete k tomu ani SDS, jde to jasně vidět i když na server půjdete z prohlížeče.<br />Zde je příklad:<br /></p><div class="codebox"><pre><code>No.  Time              Source     Destination   Protocol Length Info
01   4.619124       SDS         SERVER          TCP      58     61050 → http(80) [SYN] Seq=0 Win=1446 Len=0 MSS=1260
02   4.652073       SERVER          SDS         TCP      60     http(80) → 61050 [SYN, ACK] Seq=0 Ack=1 Win=29200 Len=0 MSS=1440
03   4.654216       SDS         SERVER          HTTP     150    GET /homepage/?do=getrfid&amp;id=0AF45B12&amp;op=r HTTP/1.1 
04   4.657070       SDS         SERVER          TCP      54     61050 → http(80) [ACK] Seq=1 Ack=1 Win=1446 Len=0
05   4.686264       SERVER          SDS         TCP      60     http(80) → 61050 [ACK] Seq=1 Ack=97 Win=29200 Len=0
06   4.686333       SERVER          SDS         TCP      60     [TCP Dup ACK 12#1] http(80) → 61050 [ACK] Seq=1 Ack=97 Win=29200 Len=0
07   4.789677       SERVER          SDS         HTTP     777    HTTP/1.1 200 OK  (application/json)
08   4.792441       SDS         SERVER          TCP      54     61050 → http(80) [ACK] Seq=97 Ack=724 Win=1446 Len=0
09   9.800635       SERVER          SDS         TCP      60     http(80) → 61050 [FIN, ACK] Seq=724 Ack=97 Win=29200 Len=0
10   9.802843       SDS         SERVER          TCP      54     61050 → http(80) [FIN, ACK] Seq=97 Ack=725 Win=1446 Len=0
11   9.837583       SERVER          SDS         TCP      60     http(80) → 61050 [ACK] Seq=725 Ack=98 Win=29200 Len=0</code></pre></div><p>Právě mezi paketem No. 08 (to je ACK od SDS) a paketem No. 09(to je uzavření spojení od serveru) je těch 9.80 minus 4.79 sekund, tj. 5 sekund čekání (což je nastaveno ve vašem serveru).</p>]]></content>
			<author>
				<name><![CDATA[adamn]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=7</uri>
			</author>
			<updated>2019-03-07T17:52:56Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=6556#p6556</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] dlouhá odezva http_get s odpovědí]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=6555#p6555" />
			<content type="html"><![CDATA[<p>muj mistake bylo to omezene na ip jiz je to otevreno<br />tak ted uz by to melo fungovat</p>]]></content>
			<author>
				<name><![CDATA[kocour66]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=11731</uri>
			</author>
			<updated>2019-03-07T13:32:33Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=6555#p6555</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] dlouhá odezva http_get s odpovědí]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=6551#p6551" />
			<content type="html"><![CDATA[<p>ano, už tomu rozumím</p><p>6.3.2019 podvečer - zmíněný webový server nereaguje (a je jedno jaké URI tam dám), a vždy dostávám na TCP okamžitou odpověď RST, tzn. nelze se připojit.</p><p>zkusím to zítra podvečer, snad už to bude provozní</p>]]></content>
			<author>
				<name><![CDATA[adamn]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=7</uri>
			</author>
			<updated>2019-03-06T17:26:02Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=6551#p6551</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] dlouhá odezva http_get s odpovědí]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=6549#p6549" />
			<content type="html"><![CDATA[<p>ok <br /> takze&nbsp; ukazkovy c program pro sds big nebo small je ulozen na teto adrese</p><p>sds.twf.cz/debug_http_get_fill.c</p><p>a na Verejne IP adrese a.b.c.d<br />je pripraven web server , ktery reaguje na nasledujici http pozadavek</p><p>&nbsp; a.b.c.d/homepage/?do=getrfid&amp;id=123456&amp;op=r</p><p>totez provadi i c program nahrany do SDS <br />staci to takhle?</p>]]></content>
			<author>
				<name><![CDATA[kocour66]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=11731</uri>
			</author>
			<updated>2019-03-05T17:55:30Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=6549#p6549</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] dlouhá odezva http_get s odpovědí]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=6545#p6545" />
			<content type="html"><![CDATA[<p>Prosím o lepší vysvětlení toho co je nachystáno.</p><p>Jak si to mohu vyzkoušet ? Mám tomu textu rozumět tak, že je někde u vás nachystán webový server, na který mohu ze SDS poslat dotaz ?<br />To by bylo výborné, šlo by zjistit kde se to zpomaluje.</p>]]></content>
			<author>
				<name><![CDATA[adamn]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=7</uri>
			</author>
			<updated>2019-03-05T16:21:05Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=6545#p6545</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] dlouhá odezva http_get s odpovědí]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=6544#p6544" />
			<content type="html"><![CDATA[<p>OMLOUVAM SE ,<br />ale byl jsem zaneprazdnen aby jsme se vratili k nasemu problemu odezva webu je standardni par ms<br />tak jsem pripravil kod a web server aby jste si to vyzkouseli </p><p>kod je na adrese: sds.twf.cz/debug_http_get_fill.c</p><p>http dotaz&nbsp; je:&nbsp; &nbsp; &nbsp; a.b.c.d/homepage/?do=getrfid&amp;id=123456&amp;op=r</p><p>zkousel jsem to i ted s novym FW&nbsp; z unora 2019 a je to stejne</p>]]></content>
			<author>
				<name><![CDATA[kocour66]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=11731</uri>
			</author>
			<updated>2019-03-05T16:17:39Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=6544#p6544</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: [vyřešeno] dlouhá odezva http_get s odpovědí]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=6456#p6456" />
			<content type="html"><![CDATA[<p>Zajímavé.</p><p>Zkuste ten samý test z počítače, např. přes F12 ve Firefoxu - ukáže vám to přesné časování kde co a jak dlouho trvá. Ideálně udělejte screenshot - v prohlížeči Firefox zmáčkněte F12, pak zadejte URL 192.168.1.2/httppozadavek a v záložce &quot;Síť&quot; uvidíte ve sloupci &quot;časová osa&quot; přesně všechny jednotlivé kroky, které se staly při komunikaci se serverem, a hlavně také jak dlouho to trvalo.</p><p>Pokud se tam ukáže že to trvá také přes 5 sekund, tak to nepůjde v SDS řešit, protože SDS zkrátka jenom čeká na server.<br />Pokud to ale půjde ve Firefoxu mnohem rychleji, pak je to otázka co že se v tomto případě v SDS děje. Bude pak vhodné zkontrolovat pakety přes Wireshark, jestli se ten server nechová &quot;nestandardně&quot;, např. neposílá odpověd ve zbytečně velkém množství paketů a podobné věci.</p><p>Až tedy budou tyto data k dispozici, můžeme pokračovat.</p>]]></content>
			<author>
				<name><![CDATA[adamn]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=7</uri>
			</author>
			<updated>2018-12-08T16:54:01Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=6456#p6456</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[[vyřešeno] dlouhá odezva http_get s odpovědí]]></title>
			<link rel="alternate" href="https://forum.sds.an-d.cz/viewtopic.php?pid=6436#p6436" />
			<content type="html"><![CDATA[<p>dobrý den ,<br />mám problém s rychlostí getování na web</p><p>když to tam pošlu bez požadavku na odpověď trvá to cca 0.5s<br />VIZ:<br /> <span class="bbu">htttp_get(192,168,1,2, 80, &quot;192.168.1.2&quot;, htttppozadavek, <strong>(void *)0, 0)</strong>;</span> <br />ECHO:<br /> START<br /> calling http_get...<br /> DONE OK. HTTP RESPSTAT = 200 receivedDataSize = 0<br /> 03.12.18 12:24:41 po<strong> 570ms </strong></p><p>pokud to tam pošlu s požadavkem na odpověď je doba zpracování o 5 sekund delší<br />VIZ:<br /> <span class="bbu">htttp_get(192,168,1,2, 80, &quot;192.168.1.2&quot;, htttppozadavek,<strong> (void *)ReceiveDataBuffer, 16)</strong>;</span> <br />ECHO:<br /> calling http_get.. <br /> DONE OK. HTTP RESPSTAT = 200 receivedDataSize = 3<br /> data - &quot;N&quot;03.12.18 12:11:58 po <strong> 5390ms </strong></p><p>a to v kódu pouze vyměním nuly za pointer na buffer a velikost</p><p>je problém u mně nebo ve firmware?</p>]]></content>
			<author>
				<name><![CDATA[kocour66]]></name>
				<uri>https://forum.sds.an-d.cz/profile.php?id=11731</uri>
			</author>
			<updated>2018-12-03T13:10:24Z</updated>
			<id>https://forum.sds.an-d.cz/viewtopic.php?pid=6436#p6436</id>
		</entry>
</feed>
