abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 18:33 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 156 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 15:11 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.8.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    včera 12:11 | IT novinky

    Včera večer měl na YouTube premiéru dokumentární film Python: The Documentary | An origin story.

    Ladislav Hagara | Komentářů: 0
    28.8. 23:33 | Nová verze

    Společnost comma.ai po třech letech od vydání verze 0.9 vydala novou verzi 0.10 open source pokročilého asistenčního systému pro řidiče openpilot (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    28.8. 21:55 | Nová verze Ladislav Hagara | Komentářů: 2
    28.8. 14:11 | IT novinky

    Řada vestavěných počítačových desek a vývojových platforem NVIDIA Jetson se rozrostla o NVIDIA Jetson Thor. Ve srovnání se svým předchůdcem NVIDIA Jetson Orin nabízí 7,5krát vyšší výpočetní výkon umělé inteligence a 3,5krát vyšší energetickou účinnost. Softwarový stack NVIDIA JetPack 7 je založen na Ubuntu 24.04 LTS.

    Ladislav Hagara | Komentářů: 4
    28.8. 00:44 | Bezpečnostní upozornění

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) spolu s NSA a dalšími americkými úřady upozorňuje (en) na čínského aktéra Salt Typhoon, který kompromituje sítě po celém světě.

    Ladislav Hagara | Komentářů: 26
    27.8. 16:33 | IT novinky

    Společnost Framework Computer představila (YouTube) nový výkonnější Framework Laptop 16. Rozhodnou se lze například pro procesor Ryzen AI 9 HX 370 a grafickou kartu NVIDIA GeForce RTX 5070.

    Ladislav Hagara | Komentářů: 1
    27.8. 14:22 | IT novinky

    Google oznamuje, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Tato politika bude implementována během roku 2026 ve vybraných zemích (jihovýchodní Asie, Brazílie) a od roku 2027 celosvětově.

    Fluttershy, yay! | Komentářů: 10
    27.8. 13:11 | Nová verze

    Byla vydána nová verze 21.1.0, tj. první stabilní verze z nové řady 21.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.

    Ladislav Hagara | Komentářů: 0
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (79%)
     (8%)
     (3%)
     (4%)
     (5%)
     (1%)
    Celkem 106 hlasů
     Komentářů: 9, poslední 28.8. 11:53
    Rozcestník

    Dotaz: Komunikace Server/Client knihovna v C++

    1.12.2011 22:33 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Komunikace Server/Client knihovna v C++
    Přečteno: 703×
    Ahoj, potřebuji spíše obecnou inspiraci či tip, mám „nápad“ na aplikaci a již jsem si to i odzkoušel hloupějšími nástroji na to jak bych si to představoval (PHP, MySQL, Apache) a chtěl bych to v C++.
    Aplikace Server - Client a dotaz směřuje hlavně na serverovou část.
    Jednalo by se čistě centrální řízení, server vše říká co chce od clienta, kontroluje to co mu dal, odmítá se s ním bavit (překročení definovaných limitů, priorit, nesprávné chováni klienta apod.).
    Komunikaci sice iniciuje klient, ale server rozhodne, kdy a o čem se s ním bude bavit.
    Každá komunikace (jednotlivý přenos) je vzájemně podepsaná (i client ví, že se baví právě ze serverem a, že data jsou od něj - 2× klíče/priv. a pub./ )
    Komunikace může být velmi aktivní (spousta malých objemů s velkým množstvím kroků tam a zpět), ale také se budou přenášet velká data, ale client nebo server bude zodpovědný za dělení a postupné odesílání po definovaných blocích (řádově 1MiB až desítky MiB) a server rozhodne kolik takových „částí“ přijme za časovou jednotku.
    No a nechci řešit tu vlastní komunikace, v zásadě mi vyhovuje webserver (i když ta serializace dat ze serveru ke klientu je naprd), protože to obvykle projde všude a můžu to pustit zabezpečeně zadarmo (https) a taky, protože tam bude i web aplikace jako „monitoring“ a může být někdy výkonnostně náročnější, než se obvykle očekává od web aplikace, takže mít kritické věci (nebo celé) v C++ by nebylo od věci.
    Napadlo mě nechat si myšlenku web serveru a použít například něco jako WT a použít vestavěný, ale nemám s tím žádnou zkušenost.
    Ale taky tam bude spousta zbytečné režie při čilé komunikaci, lepší by bylo udržovat komunikaci aktivní, ale nevím co použít „něco“ abych toho musel řešit co nejméně. Mělo by to být klasika, číhám (server) když někdo chce komunikovat „otevřu mu cestu“ a spustím pro něj instanci (multi-threading). A ať to zařídí i serializaci a přenos dat, pošlu strukturu/dostanu strukturu (že se to postará o i(e)ndiány je samozřejmost). Musí to být GPL (nebo kompatibilní), musí to být limitovatelné na počet spojení a mělo by to (číhač) ty spojení mít pod dohledem a moci s nimi komunikovat. Bezva by bylo kdyby to už rovnou i komunikaci šifrovalo a podepisoval (ale není to podmínkou).
    Nějaká knihovna a zkušenosti s ní, nebo „¿kudy?“ - dík.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    Řešení dotazu:


    Odpovědi

    1.12.2011 22:57 NN
    Rozbalit Rozbalit vše Re: Komunikace Server/Client knihovna v C++
    Nechcete vyuzit standartni socketove API?

    http://www.root.cz/serialy/sokety-a-cc/

    NN
    1.12.2011 23:27 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Komunikace Server/Client knihovna v C++
    No popravdě, ne. Je to samozřejmě možnost, ale chtěl bych se raději soustředit na to ostatní. Ona ta přenášena data jsou v zásadě velmi jednoduchá, když jsem to testoval, tak jsem si vystačil jen se třemi typy struktur (a dokážu si představit rozšíření na 6).
    Takže bych raději něco jako:
    Vytvořit instanci „něčeho“ Server, zdědit nějaký „interface“ k těm strukturám a zdědit nějaký „interface“ nějakého „instance_thread“ doplnit metodu „run“, něco tom zaregistrovat a hotovo. (Pak samozřejmě další krok, nějaká komunikace s jednotlivými „instance_thread“, třeba nějaký Monitor přiřazený Server.)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    2.12.2011 09:52 chsajarsa | skóre: 16 | blog: V_hlouby_destneho_pralesa | Lovosice(Praha)
    Rozbalit Rozbalit vše Re: Komunikace Server/Client knihovna v C++
    Co treba xmlrpc-c? Nasazeni je opravdu velice trivialni a velice dobre funguje.
    ~ QED ~
    2.12.2011 12:22 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Komunikace Server/Client knihovna v C++
    Díky to by mohla být, jak doufám, že přibude nějaký další tip, jedna z možností.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    2.12.2011 13:23 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Komunikace Server/Client knihovna v C++
    Možná hledáš něco jako MsgPack/Avro/Thrift/Protobuf? (Protocol Buffers tedy nemají vlastní RPC, ostatní myslím ano.)
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    2.12.2011 15:00 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Komunikace Server/Client knihovna v C++
    Ohó, díky, zběžně jsem to prošel a otázka, proč jsi dal MsgPack jako první?
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    2.12.2011 15:20 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Komunikace Server/Client knihovna v C++
    Protože mi je nejsympatičtější :-) Nepracoval jsem ani s jedním, ale Protocol Buffers nemá vlastní RPC (i když existují nezávislé implementace) a Avro je na tom, pokud vím, ne úplně dobře s dokumentací.

    Určitě existují i další binární serializační formáty s vlastním RPC, od chvíle, co se objevily Protocol Buffers od Googlu a pak Thrift od Facebooku, tak se vyrojily jak houby po dešti.

    Případně by tě možná ještě mohlo zajímat ZeroMQ, ale to už je o trochu něčem jiném.
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    2.12.2011 15:47 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Komunikace Server/Client knihovna v C++
    Taky mi 'MsgPack' tak na první pohled přišel.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    2.12.2011 14:44 foldy
    Rozbalit Rozbalit vše Re: Komunikace Server/Client knihovna v C++
    Jo webtoolkit je super, vřele doporučuju. Mají jak vlastní webtoolkit server tak stačí i fastcgi do apache. Musíš trocha vědět jak to rozchodit a je s tím dost práce ale jinak super.
    2.12.2011 15:44 Sten
    Rozbalit Rozbalit vše Re: Komunikace Server/Client knihovna v C++
    C++? Boost.ASIO. Umí to i šifrování.
    2.12.2011 16:35 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Komunikace Server/Client knihovna v C++
    Vždycky jsme se vyhýbal tomu co začínalo boost, ale třeba je čas to změnit, šifrování (bez práce) je velmi lákavé (a toto se mi i v příkladech líbilo).
    Ukázkové kódu se mi tedy moc nelíbí, ale v tomto případě budu muset na to více juknout, třeba se to jen díky širokosti záběru tak tváří a bude to možné snadno hezky něčím jednoduchým obalit na potřebnou funkcionalitu.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    2.12.2011 17:42 Sten
    Rozbalit Rozbalit vše Re: Komunikace Server/Client knihovna v C++
    Ukázkové kódy vypadají tak, jak vypadají, protože Boost se snaží být stejně pružný jako STL (a možná proto se mu spousta lidí zbytečně vyhýbá). Vy to zřejmě stejně zabalíte do nějakých objektů, které si jenom poskládají to, co potřebují.
    2.12.2011 21:33 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Komunikace Server/Client knihovna v C++
    S tím asi nedá nic než souhlasit, zkusím se s tím popasovat a pravděpodobně zvolím tuto cestu. Dík.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    2.12.2011 16:13 __dark__
    Rozbalit Rozbalit vše Re: Komunikace Server/Client knihovna v C++
    Ještě se mrkni na Node.JS, pokud se nebojíš javascriptu (a pokud jsem pochopil co chceš dělat). Node lze celkem pěkně kombinovat s C++, takže rychlostně by to mohlo být v pohodě.
    2.12.2011 16:17 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Komunikace Server/Client knihovna v C++
    Javascriptu se nebojím, ale je mi odporný. S Node.JS jsem se již setkal, nemyslím, že je to dobrý kandidát. Ale stejně díky.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Saljack avatar 3.12.2011 11:33 Saljack | skóre: 28 | blog: Saljack | Praha
    Rozbalit Rozbalit vše Re: Komunikace Server/Client knihovna v C++
    Ja ted pisu aplikaci, kterou bude moc obsluhovat pres jeji REST rozhrani. A jelikoz je to desktopova aplikace, tak i serverovou cast pisu v Qt. Navic Qt ma jiz SSL sockety, kterym staci strcit certifikat a privatni klic a ostatni ten socket provede sam.
    Sex, Drugs & Rock´n Roll.
    3.12.2011 14:14 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Komunikace Server/Client knihovna v C++
    Díky Ti, Qt nechci.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.