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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 17:02 | Pozvánky

Přijďte si popovídat o open source obecně a openSUSE konkrétně s dalšími uživateli a vývojáři. Oslava nového vydání openSUSE Leap se uskuteční 16. prosince od 17:00 v nových prostorách firmy SUSE v Praze. K dispozici bude nějaké občerstvení a DVD pro ty, kdo je sbírají nebo ještě mají mechaniku. Po párty v kanceláři se bude pokračovat v některé z hospod v okolí.

Miška | Komentářů: 8
včera 14:55 | Zajímavý software

Byla vydána verze Alpha 1.0 otevřeného operačního systému pro chytré hodinky AsteroidOS. Podporovány jsou hodinky LG G Watch, LG G Watch Urbane, Asus ZenWatch 2 a Sony Smartwatch 3. Ukázka ovládání hodinek na YouTube. Jaroslav Řezník přednášel o AsteroidOS na chytrých hodinkách (videozáznam) na letošní konferenci OpenAlt.

Ladislav Hagara | Komentářů: 0
včera 13:30 | Zajímavý software

Byly uvolněny zdrojové kódy známé rogue-like hry DoomRL. Počátky hry jsou v roce 2002. Je napsána ve FreePascalu a zdrojový kód je nyní k dispozici na GitHubu pod licencí GNU GPL 2.0. Autor pracuje na nové hře Jupiter Hell, která je moderním nástupcem DoomRL a na jejíž vývoj shání peníze prostřednictvím Kickstarteru.

Blaazen | Komentářů: 0
včera 13:15 | Pozvánky

Přijďte s námi oslavit vydání Fedory 25. Na programu budou přednášky o novinkách, diskuse, neřízený networking atd. Release Party se bude konat 16. prosince v prostorách společnosti Etnetera. Na party budou volně k dispozici také propagační materiály, nová DVD s Fedorou 25 a samozřejmě občerstvení. Přednášky budou probíhat v češtině. Pro více informací se můžete podívat na web MojeFedora.cz. Jen připomínám, že tentokrát jsme zavedli

… více »
frantisekz | Komentářů: 0
9.12. 16:38 | Komunita

Byly zveřejněny videozáznamy přednášek a workshopů z letošní konference OpenAlt konané 5. a 6. listopadu v Brně. K videozáznamům lze přistupovat ze stránky na SuperLectures nebo přes program konference, detaily o vybrané přednášce nebo workshopu a dále kliknutím na ikonku filmového pásu. Celkově bylo zpracováno 65 hodin z 89 přednášek a workshopů.

Ladislav Hagara | Komentářů: 0
9.12. 11:30 | Komunita

Bylo oznámeno, že bude proveden bezpečnostní audit zdrojových kódů open source softwaru pro implementaci virtuálních privátních sítí OpenVPN. Audit provede Matthew D. Green (blog), uznávaný kryptolog a profesor na Univerzitě Johnse Hopkinse. Auditována bude verze 2.4 (aktuálně RC 1, stabilní verze je 2.3.14). Audit bude financován společností Private Internet Access [reddit].

Ladislav Hagara | Komentářů: 4
9.12. 06:00 | Komunita

Na YouTube byl publikován Blender Institute Reel 2016, ani ne dvouminutový sestřih z filmů, které vznikly za posledních 10 let díky Blender Institutu. V institutu aktuálně pracují na novém filmu Agent 327. Dění kolem filmu lze sledovat na Blender Cloudu. Videoukázka Agenta 327 z června letošního roku na YouTube.

Ladislav Hagara | Komentářů: 0
9.12. 01:02 | Zajímavý článek

Minulý týden byly vydány verze 1.2.3 a 1.1.7 webového poštovního klienta Roundcube. V oznámení o vydání bylo zmíněno řešení bezpečnostního problému nalezeného společností RIPS a souvisejícího s voláním funkce mail() v PHP. Tento týden byly zveřejněny podrobnosti. Útočník mohl pomocí speciálně připraveného emailu spustit na serveru libovolný příkaz. Stejně, jak je popsáno v článku Exploit PHP’s mail() to get remote code execution z roku 2014.

Ladislav Hagara | Komentářů: 1
8.12. 16:00 | Nová verze

Byla vydána verze 0.98 svobodného nelineárního video editoru Pitivi. Z novinek lze zmínit například přizpůsobitelné klávesové zkratky. Videoukázka práce s nejnovější verzí Pitivi na YouTube.

Ladislav Hagara | Komentářů: 1
8.12. 15:00 | Zajímavý software

Stop motion je technika animace, při níž je reálný objekt mezi jednotlivými snímky ručně upravován a posouván o malé úseky, tak aby po spojení vyvolala animace dojem spojitosti. Jaký software lze pro stop motion použít na Linuxu? Článek na OMG! Ubuntu! představuje Heron Animation. Ten bohužel podporuje pouze webové kamery. Podpora digitálních zrcadlovek je začleněna například v programu qStopMotion.

Ladislav Hagara | Komentářů: 5
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (23%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 810 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

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: 627×
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.