<html><body>Jinak jen informace nevím jak to máte s Delphi,<div>ale já kdysi přešel na Lazarus,  respektive na odnož</div><div>CodeTyphoon http://www.pilotlogic.com/sitejoom/index.php/codetyphon</div><div><br></div><div>A jsem hodně spokojen na těch pár věcí co potřebuji mi to</div><div>bohatě stačí. Je to hodně podobné jak Delphi.</div><div><br></div><div>Zdeněk Aster</div><div><br><p>---------- Původní zpráva ----------<br>Od: Martin Záruba <swz@volny.cz><br>Komu: HW-news <hw-list@list.hw.cz><br>Datum: 22. 4. 2016 14:59:33<br>Předmět: Re: Jeden nebo vice IP portu?</p><br><blockquote>Dik, podívam se na to.<br><br>Martin Záruba<br><br>Dne 22.4.2016 v 14:07 Ondřej Janovský napsal(a):<br>> A co http://www.indyproject.org/index.en.aspx ? Nehodilo by se to?<br>><br>> On 04/22/2016 11:10, Martin Záruba wrote:<br>>> Buď to já neumím, nebo to nejde. V podstatě mám možnost na socketu <br>>> vyvolat např. RecvByte, kde mohu uvést jak dlouho má čekat. Pak se <br>>> řízení vrátí systému dokud nepřijdou data nebo neprojde Timeout. <br>>> Druhou možností je vyvolat WaitingData, kde se dozvím, zda jsou <br>>> nějaká data, ale pokud nejsou a budu jej volat ve smyčce, zadusím <br>>> procesor. Pokud dám do smyčky delay, bude se dít to, že data vždy <br>>> budou čekat, dokud prodleva nezkončí. Ale to by asi fungovalo.<br>>><br>>> Martin Záruba<br>>><br>>> Dne 22.4.2016 v 10:58 Ladislav Vaiz napsal(a):<br>>>> Unixová klasika je jeden velký select(), který čeká na data jak ze <br>>>> standardního vstupu tak ze soketů všech druhů.<br>>>> Se smyčkou obsluhy zpráv se to asi moc nesnáší, ale ten select by <br>>>> mohl být v druhém vlákně. Celkem tedy jedno vlákno pro GUI, druhé <br>>>> pro select.<br>>>> Delfi ale neznám a nevím, zda poskytují přístup k selectu.<br>>>> L.<br>>>><br>>>> Martin Záruba napsal(a):<br>>>>> No jo, ale jak to jinak udělat, když naprostou většinu doby čekáte, <br>>>>> až přijde odpověď. V té době se řízení vrátí systému.<br>>>>> Druhou možností by bylo stále testovat, zda již nějaká data <br>>>>> nepřišla, ale to bude strašně dusit procesor. Proto mi ty thready, <br>>>>> které vlastně stále jen čekají, připadalo jako elegantní řešení.<br>>>>><br>>>>> Martin Záruba<br>>>>><br>>>>> Dne 22.4.2016 v 10:05 Ondřej Janovský napsal(a):<br>>>>>> U nás jsme to doteď psali v Javě, teď jsme zkusili Node.js pro <br>>>>>> menší projekty. Výhodou je, že je dostatek frameworků (dokonce <br>>>>>> kvalitních).<br>>>>>><br>>>>>> S Delphi nevím. Ale pokud by to mělo mít 1000 aktivních zařízení, <br>>>>>> pak bych šel jinou cestou než 1000 threadů.<br>>>>>><br>>>>>> Oja<br>>>>>><br>>>>>><br>>>>>> On 04/22/2016 09:23, Martin Záruba wrote:<br>>>>>>> V podstatě spojení je jen "přes data".<br>>>>>>><br>>>>>>> 1) Řídící jednotka se aktivně připojí k serveru, aby nemusela mít <br>>>>>>> veřejnou IP, ale pak čeká.<br>>>>>>><br>>>>>>> a)  Server pošle dotaz, řídící jednotka odpoví, server uloží data <br>>>>>>> na disk. To se stále v intervalu cca 10 vteřin opakuje. Jedná se <br>>>>>>> tedy v tomto případě o prostý sběr dat.<br>>>>>>> b) Server pošle povel z fronty povelů (bod 2b dále), řídící <br>>>>>>> jednotka jej provede a odpoví jak jej provedla. Povel se z fronty <br>>>>>>> smaže. Povely jsou několik byte a jsou velmi řídké.<br>>>>>>><br>>>>>>> 2) Klient se aktivně připojí k serveru, aby nemusel mít veřejnou IP.<br>>>>>>> a) Pošle požadavek na data, server je najde v souboru a pošle mu je.<br>>>>>>> b) Pošle povel. Server jej uloží do fronty čekajících povelů.<br>>>>>>><br>>>>>>> Chci to psát v Delphi. Asi existují vhodnější prostředí, ale toto <br>>>>>>> snad celkem slušně znám.<br>>>>>>><br>>>>>>> Martin Záruba<br>>>>>>><br>>>>>>> Dne 22.4.2016 v 9:06 Ondřej Janovský napsal(a):<br>>>>>>>> Mohu to chápat, že klient je propojen přímo s řídící jednotkou? <br>>>>>>>> Tedy, že server je v podstatě ICQ, JABBER, WhatsUp pro <br>>>>>>>> komunikaci s řídícími jednotkami?<br>>>>>>>><br>>>>>>>> A v čem to chcete psát?<br>>>>>>>><br>>>>>>>> Oja<br>>>>>>>><br>>>>>>>><br>>>>>>>><br>>>>>>>> On 04/22/2016 08:58, Martin Záruba wrote:<br>>>>>>>>> Zpočátku cca 10, ale konečný stav by mohl být okolo 1000.<br>>>>>>>>> V naprosté většině k jedné řídící jednotce bude připojen jen <br>>>>>>>>> jeden klient, ale může jich být i více (2 až 3), naopak často <br>>>>>>>>> nebude žádný, t.j. server bude jen zapisovat přijatá data, <br>>>>>>>>> řídící jednotky jsou zcela autonomní. Dat ja ale poměrně málo, <br>>>>>>>>> cca 100byte za vteřinu. Musí to přijatelně chodit i s velmi <br>>>>>>>>> pomalým připojením (přes mobil, který dělá AP a často v místech <br>>>>>>>>> kde funguje jen GPRS). Zkoušel jsem přenos, kdy notebook byl <br>>>>>>>>> připojen k internetu přes mobil s EDGE a 5x přenos na normální <br>>>>>>>>> PC a zpět. Latence byla strašlivá, ale chodilo to bez chyb, <br>>>>>>>>> rychlost v mém případě je naprosto nevýznamná.<br>>>>>>>>><br>>>>>>>>> Martin Záruba<br>>>>>>>>><br>>>>>>>>> Dne 22.4.2016 v 8:41 Ondřej Janovský napsal(a):<br>>>>>>>>>> Kolik očekáváte řídících jednotek a kolik klientů? Jak masivní <br>>>>>>>>>> komunikaci?<br>>>>>>>>>> A v čem to budete psát?<br>>>>>>>>>><br>>>>>>>>>> Existuje ještě cesta, kterou jde Node.js, Vert.x.<br>>>>>>>>>><br>>>>>>>>>> Oja<br>>>>>>>>>><br>>>>>>>>>> On 04/22/2016 06:15, Martin Záruba wrote:<br>>>>>>>>>>> Díky všem za rady. Udělám dva porty, jeden pro řídící <br>>>>>>>>>>> jednotky a jeden pro klienty.<br>>>>>>>>>>> Ještě bych se rád zeptal, zda myslíte, zda udělat jednodušší <br>>>>>>>>>>> variantu, t.j.:<br>>>>>>>>>>> 1) Někdo se připojí, vytvoří se vlákno, v něm se vytvoří <br>>>>>>>>>>> socket, otevře se, udělá se co je třeba, zavře se socket, <br>>>>>>>>>>> zruší se socket, ukončí a odstraní se vlákno.<br>>>>>>>>>>> nebo<br>>>>>>>>>>> 2a) Někdo se připojí, vytvoří se vlákno, v něm se vytvoří <br>>>>>>>>>>> socket, otevře se, udělá se co je třeba, zavře se <br>>>>>>>>>>> socket,vlákno se uspí.<br>>>>>>>>>>> 2b) Někdo se připojí, pokud existuje uspané vlákno probudí <br>>>>>>>>>>> se, otevře se socket,udělá se co je třeba, zavře se <br>>>>>>>>>>> socket,vlákno se uspí. Pokud neexistuje volné vlákno, pak 2a)<br>>>>>>>>>>><br>>>>>>>>>>> Ve variantě 2) by se nemuselo stále vytvářet a rušit vlákno, <br>>>>>>>>>>> ale je to složitější. Nedovedu posoudit, jak náročné je <br>>>>>>>>>>> vytvořit a zrušit vlákno a zda se vyplatí tento krok dělat co <br>>>>>>>>>>> nejméně.<br>>>>>>>>>>><br>>>>>>>>>>> Martin Záruba<br>>>>>>>>>>><br>>>>>>>>>>> Dne 21.4.2016 v 15:20 Radek Benedikt napsal(a):<br>>>>>>>>>>>> Z hlediska SW je asi jeden port "hezci" ale ma to jedno <br>>>>>>>>>>>> velke ALE. Hodne<br>>>>>>>>>>>> spatne se to filtruje, pokud to z hlediska site ma mit ruzna <br>>>>>>>>>>>> opravneni.<br>>>>>>>>>>>> Treba cidla ve vodni elektrarne se hlasi ke "koncentratoru" <br>>>>>>>>>>>> a na ten se<br>>>>>>>>>>>> hlasi sef z domu mimo objekt. Pokud jsou to dve ruzne IP na <br>>>>>>>>>>>> koncentratoru na<br>>>>>>>>>>>> dvou ruznych VLAN je to nuda. Kdyz je to na jedne IP a v <br>>>>>>>>>>>> jedne VLAN urcene<br>>>>>>>>>>>> pro "technologii" ale ma to aspon dva ruzne IP porty na <br>>>>>>>>>>>> kterých to<br>>>>>>>>>>>> komunikuje, tak se to da na nejakem blackboxu jeste <br>>>>>>>>>>>> jednoduse omezit co kdo<br>>>>>>>>>>>> a kam smi. A udelat to na jednom portu s ruznymi <br>>>>>>>>>>>> opravnenimi, tak to znamena<br>>>>>>>>>>>> lezt do paketu a filtrovat na vyssich vrstvách a to je na <br>>>>>>>>>>>> odstrel toho kdo<br>>>>>>>>>>>> to vymyslel. A navic si nedokazu predstavit gramatiku pro <br>>>>>>>>>>>> vyhodnoceni, pokud<br>>>>>>>>>>>> by mely byt pouzity dva na sobe nezavisle protokoly, které <br>>>>>>>>>>>> postupne vyviji<br>>>>>>>>>>>> dve rozdilne party. Takze tudu NEEEEEEEEEEEEEE.<br>>>>>>>>>>>><br>>>>>>>>>>>> Radek (benedikt2hw.cz)<br>>>>>>>>>>>><br>>>>>>>>>>>> -----Original Message-----<br>>>>>>>>>>>><br>>>>>>>>>>>> Nevidim dovod preco by to nemalo byt mozne. Na jednom porte <br>>>>>>>>>>>> mozete otvorit<br>>>>>>>>>>>> tolko spojeni kolko vam len pamat a operacny system dovoli.<br>>>>>>>>>>>> Ostatne je zalezitost komunikacneho protokolu a ten mate pod <br>>>>>>>>>>>> kontrolou.<br>>>>>>>>>>>> Ci je toto vhodne riesenei problemu si ale nedovolim posudit.<br>>>>>>>>>>>><br>>>>>>>>>>>> _______________________________________________<br>>>>>>>>>>>> HW-list mailing list  -  sponsored by www.HW.cz<br>>>>>>>>>>>> Hw-list@list.hw.cz<br>>>>>>>>>>>> http://list.hw.cz/mailman/listinfo/hw-list<br>>>>>>>>>>>><br>>>>>>>>>>><br>>>>>>>>>>><br>>>>>>>>>>> ---<br>>>>>>>>>>> Tato zpráva byla zkontrolována na viry programem Avast <br>>>>>>>>>>> Antivirus.<br>>>>>>>>>>> https://www.avast.com/antivirus<br>>>>>>>>>>><br>>>>>>>>>>> _______________________________________________<br>>>>>>>>>>> HW-list mailing list  -  sponsored by www.HW.cz<br>>>>>>>>>>> Hw-list@list.hw.cz<br>>>>>>>>>>> http://list.hw.cz/mailman/listinfo/hw-list<br>>>>>>>>>><br>>>>>>>>>><br>>>>>>>>>> -- <br>>>>>>>>>> *Ondřej Janovský<br>>>>>>>>>> Alarex-Group s.r.o.<br>>>>>>>>>> *<br>>>>>>>>>> mobil: +420 723 616 751<br>>>>>>>>>> em@il: ondrej.janovsky@alarex.cz<br>>>>>>>>>><br>>>>>>>>>> www.m2marchitect.cz <http://www.m2marchitect.cz><br>>>>>>>>>> www.alarex.cz <http://www.alarex.cz><br>>>>>>>>>><br>>>>>>>>>><br>>>>>>>>>> _______________________________________________<br>>>>>>>>>> HW-list mailing list  -  sponsored by www.HW.cz<br>>>>>>>>>> Hw-list@list.hw.cz<br>>>>>>>>>> http://list.hw.cz/mailman/listinfo/hw-list<br>>>>>>>>><br>>>>>>>>><br>>>>>>>>> ---<br>>>>>>>>> Tato zpráva byla zkontrolována na viry programem Avast Antivirus.<br>>>>>>>>> https://www.avast.com/antivirus<br>>>>>>>>><br>>>>>>>>> _______________________________________________<br>>>>>>>>> HW-list mailing list  -  sponsored by www.HW.cz<br>>>>>>>>> Hw-list@list.hw.cz<br>>>>>>>>> http://list.hw.cz/mailman/listinfo/hw-list<br>>>>>>>><br>>>>>>>><br>>>>>>>> -- <br>>>>>>>> *Ondřej Janovský<br>>>>>>>> Alarex-Group s.r.o.<br>>>>>>>> *<br>>>>>>>> mobil: +420 723 616 751<br>>>>>>>> em@il: ondrej.janovsky@alarex.cz<br>>>>>>>><br>>>>>>>> www.m2marchitect.cz <http://www.m2marchitect.cz><br>>>>>>>> www.alarex.cz <http://www.alarex.cz><br>>>>>>>><br>>>>>>>><br>>>>>>>> _______________________________________________<br>>>>>>>> HW-list mailing list  -  sponsored by www.HW.cz<br>>>>>>>> Hw-list@list.hw.cz<br>>>>>>>> http://list.hw.cz/mailman/listinfo/hw-list<br>>>>>>><br>>>>>>><br>>>>>>> ---<br>>>>>>> Tato zpráva byla zkontrolována na viry programem Avast Antivirus.<br>>>>>>> https://www.avast.com/antivirus<br>>>>>>><br>>>>>>> _______________________________________________<br>>>>>>> HW-list mailing list  -  sponsored by www.HW.cz<br>>>>>>> Hw-list@list.hw.cz<br>>>>>>> http://list.hw.cz/mailman/listinfo/hw-list<br>>>>>><br>>>>>><br>>>>>> -- <br>>>>>> *Ondřej Janovský<br>>>>>> Alarex-Group s.r.o.<br>>>>>> *<br>>>>>> mobil: +420 723 616 751<br>>>>>> em@il: ondrej.janovsky@alarex.cz<br>>>>>><br>>>>>> www.m2marchitect.cz <http://www.m2marchitect.cz><br>>>>>> www.alarex.cz <http://www.alarex.cz><br>>>>>><br>>>>>><br>>>>>> _______________________________________________<br>>>>>> HW-list mailing list  -  sponsored by www.HW.cz<br>>>>>> Hw-list@list.hw.cz<br>>>>>> http://list.hw.cz/mailman/listinfo/hw-list<br>>>>><br>>>>><br>>>>> ---<br>>>>> Tato zpráva byla zkontrolována na viry programem Avast Antivirus.<br>>>>> https://www.avast.com/antivirus<br>>>>><br>>>>> _______________________________________________<br>>>>> HW-list mailing list  -  sponsored by www.HW.cz<br>>>>> Hw-list@list.hw.cz<br>>>>> http://list.hw.cz/mailman/listinfo/hw-list<br>>>><br>>>><br>>>> _______________________________________________<br>>>> HW-list mailing list  -  sponsored by www.HW.cz<br>>>> Hw-list@list.hw.cz<br>>>> http://list.hw.cz/mailman/listinfo/hw-list<br>>>><br>>><br>>><br>>> ---<br>>> Tato zpráva byla zkontrolována na viry programem Avast Antivirus.<br>>> https://www.avast.com/antivirus<br>>><br>>> _______________________________________________<br>>> HW-list mailing list  -  sponsored by www.HW.cz<br>>> Hw-list@list.hw.cz<br>>> http://list.hw.cz/mailman/listinfo/hw-list<br>><br>><br>> -- <br>> *Ondřej Janovský<br>> Alarex-Group s.r.o.<br>> *<br>> mobil: +420 723 616 751<br>> em@il: ondrej.janovsky@alarex.cz<br>><br>> www.m2marchitect.cz <http://www.m2marchitect.cz><br>> www.alarex.cz <http://www.alarex.cz><br>><br>><br>> _______________________________________________<br>> HW-list mailing list  -  sponsored by www.HW.cz<br>> Hw-list@list.hw.cz<br>> http://list.hw.cz/mailman/listinfo/hw-list<br><br><br>---<br>Tato zpráva byla zkontrolována na viry programem Avast Antivirus.<br>https://www.avast.com/antivirus<br><br>_______________________________________________<br>HW-list mailing list  -  sponsored by www.HW.cz<br>Hw-list@list.hw.cz<br>http://list.hw.cz/mailman/listinfo/hw-list</blockquote></div></body></html>