Jeden nebo vice IP portu?

Martin Záruba swz na volny.cz
Pátek Duben 22 10:13:11 CEST 2016


No jo, ale jak to jinak udělat, když naprostou většinu doby čekáte, až 
přijde odpověď. V té době se řízení vrátí systému.
Druhou možností by bylo stále testovat, zda již nějaká data nepřišla, 
ale to bude strašně dusit procesor. Proto mi ty thready, které vlastně 
stále jen čekají, připadalo jako elegantní řešení.

Martin Záruba

Dne 22.4.2016 v 10:05 Ondřej Janovský napsal(a):
> U nás jsme to doteď psali v Javě, teď jsme zkusili Node.js pro menší 
> projekty. Výhodou je, že je dostatek frameworků (dokonce kvalitních).
>
> S Delphi nevím. Ale pokud by to mělo mít 1000 aktivních zařízení, pak 
> bych šel jinou cestou než 1000 threadů.
>
> Oja
>
>
> On 04/22/2016 09:23, Martin Záruba wrote:
>> V podstatě spojení je jen "přes data".
>>
>> 1) Řídící jednotka se aktivně připojí k serveru, aby nemusela mít 
>> veřejnou IP, ale pak čeká.
>>
>> a)  Server pošle dotaz, řídící jednotka odpoví, server uloží data na 
>> disk. To se stále v intervalu cca 10 vteřin opakuje. Jedná se tedy v 
>> tomto případě o prostý sběr dat.
>> b) Server pošle povel z fronty povelů (bod 2b dále), řídící jednotka 
>> jej provede a odpoví jak jej provedla. Povel se z fronty smaže. 
>> Povely jsou několik byte a jsou velmi řídké.
>>
>> 2) Klient se aktivně připojí k serveru, aby nemusel mít veřejnou IP.
>> a) Pošle požadavek na data, server je najde v souboru a pošle mu je.
>> b) Pošle povel. Server jej uloží do fronty čekajících povelů.
>>
>> Chci to psát v Delphi. Asi existují vhodnější prostředí, ale toto 
>> snad celkem slušně znám.
>>
>> Martin Záruba
>>
>> Dne 22.4.2016 v 9:06 Ondřej Janovský napsal(a):
>>> Mohu to chápat, že klient je propojen přímo s řídící jednotkou? 
>>> Tedy, že server je v podstatě ICQ, JABBER, WhatsUp pro komunikaci s 
>>> řídícími jednotkami?
>>>
>>> A v čem to chcete psát?
>>>
>>> Oja
>>>
>>>
>>>
>>> On 04/22/2016 08:58, Martin Záruba wrote:
>>>> Zpočátku cca 10, ale konečný stav by mohl být okolo 1000.
>>>> V naprosté většině k jedné řídící jednotce bude připojen jen jeden 
>>>> klient, ale může jich být i více (2 až 3), naopak často nebude 
>>>> žádný, t.j. server bude jen zapisovat přijatá data, řídící jednotky 
>>>> jsou zcela autonomní. Dat ja ale poměrně málo, cca 100byte za 
>>>> vteřinu. Musí to přijatelně chodit i s velmi pomalým připojením 
>>>> (přes mobil, který dělá AP a často v místech kde funguje jen GPRS). 
>>>> Zkoušel jsem přenos, kdy notebook byl připojen k internetu přes 
>>>> mobil s EDGE a 5x přenos na normální PC a zpět. Latence byla 
>>>> strašlivá, ale chodilo to bez chyb, rychlost v mém případě je 
>>>> naprosto nevýznamná.
>>>>
>>>> Martin Záruba
>>>>
>>>> Dne 22.4.2016 v 8:41 Ondřej Janovský napsal(a):
>>>>> Kolik očekáváte řídících jednotek a kolik klientů? Jak masivní 
>>>>> komunikaci?
>>>>> A v čem to budete psát?
>>>>>
>>>>> Existuje ještě cesta, kterou jde Node.js, Vert.x.
>>>>>
>>>>> Oja
>>>>>
>>>>> On 04/22/2016 06:15, Martin Záruba wrote:
>>>>>> Díky všem za rady. Udělám dva porty, jeden pro řídící jednotky a 
>>>>>> jeden pro klienty.
>>>>>> Ještě bych se rád zeptal, zda myslíte, zda udělat jednodušší 
>>>>>> variantu, t.j.:
>>>>>> 1) Někdo se připojí, vytvoří se vlákno, v něm se vytvoří socket, 
>>>>>> otevře se, udělá se co je třeba, zavře se socket, zruší se 
>>>>>> socket, ukončí a odstraní se vlákno.
>>>>>> nebo
>>>>>> 2a) Někdo se připojí, vytvoří se vlákno, v něm se vytvoří socket, 
>>>>>> otevře se, udělá se co je třeba, zavře se socket,vlákno se uspí.
>>>>>> 2b) Někdo se připojí, pokud existuje uspané vlákno probudí se, 
>>>>>> otevře se socket,udělá se co je třeba, zavře se socket,vlákno se 
>>>>>> uspí. Pokud neexistuje volné vlákno, pak 2a)
>>>>>>
>>>>>> Ve variantě 2) by se nemuselo stále vytvářet a rušit vlákno, ale 
>>>>>> je to složitější. Nedovedu posoudit, jak náročné je vytvořit a 
>>>>>> zrušit vlákno a zda se vyplatí tento krok dělat co nejméně.
>>>>>>
>>>>>> Martin Záruba
>>>>>>
>>>>>> Dne 21.4.2016 v 15:20 Radek Benedikt napsal(a):
>>>>>>> Z hlediska SW je asi jeden port "hezci" ale ma to jedno velke 
>>>>>>> ALE. Hodne
>>>>>>> spatne se to filtruje, pokud to z hlediska site ma mit ruzna 
>>>>>>> opravneni.
>>>>>>> Treba cidla ve vodni elektrarne se hlasi ke "koncentratoru" a na 
>>>>>>> ten se
>>>>>>> hlasi sef z domu mimo objekt. Pokud jsou to dve ruzne IP na 
>>>>>>> koncentratoru na
>>>>>>> dvou ruznych VLAN je to nuda. Kdyz je to na jedne IP a v jedne 
>>>>>>> VLAN urcene
>>>>>>> pro "technologii" ale ma to aspon dva ruzne IP porty na kterých to
>>>>>>> komunikuje, tak se to da na nejakem blackboxu jeste jednoduse 
>>>>>>> omezit co kdo
>>>>>>> a kam smi. A udelat to na jednom portu s ruznymi opravnenimi, 
>>>>>>> tak to znamena
>>>>>>> lezt do paketu a filtrovat na vyssich vrstvách a to je na 
>>>>>>> odstrel toho kdo
>>>>>>> to vymyslel. A navic si nedokazu predstavit gramatiku pro 
>>>>>>> vyhodnoceni, pokud
>>>>>>> by mely byt pouzity dva na sobe nezavisle protokoly, které 
>>>>>>> postupne vyviji
>>>>>>> dve rozdilne party. Takze tudu NEEEEEEEEEEEEEE.
>>>>>>>
>>>>>>> Radek (benedikt2hw.cz)
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>>
>>>>>>> Nevidim dovod preco by to nemalo byt mozne. Na jednom porte 
>>>>>>> mozete otvorit
>>>>>>> tolko spojeni kolko vam len pamat a operacny system dovoli.
>>>>>>> Ostatne je zalezitost komunikacneho protokolu a ten mate pod 
>>>>>>> kontrolou.
>>>>>>> Ci je toto vhodne riesenei problemu si ale nedovolim posudit.
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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
>>>>>
>>>>>
>>>>> -- 
>>>>> *Ondřej Janovský
>>>>> Alarex-Group s.r.o.
>>>>> *
>>>>> mobil: +420 723 616 751
>>>>> em na il: ondrej.janovsky na alarex.cz
>>>>>
>>>>> www.m2marchitect.cz <http://www.m2marchitect.cz>
>>>>> www.alarex.cz <http://www.alarex.cz>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> 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
>>>
>>>
>>> -- 
>>> *Ondřej Janovský
>>> Alarex-Group s.r.o.
>>> *
>>> mobil: +420 723 616 751
>>> em na il: ondrej.janovsky na alarex.cz
>>>
>>> www.m2marchitect.cz <http://www.m2marchitect.cz>
>>> www.alarex.cz <http://www.alarex.cz>
>>>
>>>
>>> _______________________________________________
>>> 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
>
>
> -- 
> *Ondřej Janovský
> Alarex-Group s.r.o.
> *
> mobil: +420 723 616 751
> em na il: ondrej.janovsky na alarex.cz
>
> www.m2marchitect.cz <http://www.m2marchitect.cz>
> www.alarex.cz <http://www.alarex.cz>
>
>
> _______________________________________________
> 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



Další informace o konferenci Hw-list