Portál AbcLinuxu, 25. dubna 2024 07:30


Dotaz: Komunikace klient - server

Konqui avatar 23.5.2009 15:56 Konqui | skóre: 18 | blog: Konqui | Rožnov pod Radhoštěm
Komunikace klient - server
Přečteno: 941×
Odpovědět | Admin
Zdravím.

Potřeboval bych nějak vyřešit komunikaci aplikace se serverem, kde aplikace bude v C++/QT a server pravděpodobně v PHP. Zkoušel jsem SOAP (PHP klient a PHP server) a přišlo mi to jako sračkoidní věc, dělal jsem s tím dost dlouho na to abych věděl že tudy cesta nevede.

Jsou ještě nějaké jednodušší typy komunikace? Potřebuji odesílat i přijímat requesty.

Díky
Open/save dialogy z GTK+ jsou nejkřiklavější ukázkou toho nejdebilnějšího software, co vůbec může existovat.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Pavel Stárek avatar 23.5.2009 20:01 Pavel Stárek | skóre: 44 | blog: Tady bloguju já :-) | Kolín
Rozbalit Rozbalit vše Re: Komunikace klient - server
Odpovědět | | Sbalit | Link | Blokovat | Admin
To záleží co si představuješ pod pojmem jednodušší typ komunikace. Můžeš zkusit (low level) komunikaci pomocí protokolu UDP. Popis třídy pro Qt je zde. Příklady pro PHP zde. Ještě můžeš zkusit komunikaci pomocí XML-RPC. Příklady si ale budeš muset najít sám.
Kdo chce, hledá způsob; kdo nechce, hledá důvod.
Konqui avatar 24.5.2009 11:27 Konqui | skóre: 18 | blog: Konqui | Rožnov pod Radhoštěm
Rozbalit Rozbalit vše Re: Komunikace klient - server
Spíš něco co by bylo přizpůsobeno přenášet hodně dat.Low-level TCP/UDP není to pravé.
Open/save dialogy z GTK+ jsou nejkřiklavější ukázkou toho nejdebilnějšího software, co vůbec může existovat.
Jendа avatar 24.5.2009 11:34 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Komunikace klient - server
Co k tomu znásilnit POST HTTP requesty? :-D

Já vím, je to asi... jak to říct... řešení...
24.5.2009 13:17 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Komunikace klient - server
Tohle řešení má už i svůj buzzword, REST :-) A není na tom nic špatnýho. V těle HTTP požadavku se přenese XML nebo JSON nebo prostě něco, odpověď taky v nějakém podobném formátu (typicky tom samém). HTTP klient v Qt by neměl být žádný problém, PHP na serveru řeší všechno samo, stačí blejt data, co si lze přát víc?

Nebo Protocol Buffers pro těžké experimentátory :-) Vypadá to, že je i jakás takás implementace pro PHP.
Ještě na tom nejsem tak špatně, abych četl Viewegha.
Jendа avatar 24.5.2009 13:27 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Komunikace klient - server
Rest: leisure, human relaxation, or sleep ;-).

Já bych tomu říkal Web 2.0 beta!, případně adžaks.
24.5.2009 14:10 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Komunikace klient - server
To zřetelně nebyl dotaz do Googlu, a pokud jo, tak to nebyl první výsledek :-)
Ještě na tom nejsem tak špatně, abych četl Viewegha.
26.5.2009 00:56 joe
Rozbalit Rozbalit vše Re: Komunikace klient - server
To dělá ten zavržený SOAP ;)
29.5.2009 21:09 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Komunikace klient - server
Jo – a spoustu zbytečností navíc k tomu :-)
Ještě na tom nejsem tak špatně, abych četl Viewegha.
Pavel Stárek avatar 24.5.2009 14:38 Pavel Stárek | skóre: 44 | blog: Tady bloguju já :-) | Kolín
Rozbalit Rozbalit vše Re: Komunikace klient - server
Odpovědět | | Sbalit | Link | Blokovat | Admin
No kdyby to nemuselo být v C++/QT a v PHP a mohlo by to být v PyQT4 a server v Pythonu, tak je XML-RPC relativně dobrá volba. Snadná implementace, a dat to umí vracet a přijmout docela hodně. Dělal jsem si v tom nějakou aplikaci, kde vzdálená RPC metoda provedla (zaslaný) SELECT do databáze, a výsledek vrátila zpět. Opravdu to bylo velmi snadné.
Kdo chce, hledá způsob; kdo nechce, hledá důvod.
25.5.2009 17:50 kaaja | skóre: 24 | blog: Sem tam něco | Podbořany, Praha
Rozbalit Rozbalit vše Re: Komunikace klient - server

XML-RPC server lze jednoduše udělat i v PHP. To jsem dělal a šlo to. Bohužel nevím, jak je složité udělat klient v C++, ale předpokládám, že nějaká knihovna pro to existuje.

25.5.2009 19:21 podlesh | skóre: 38 | Freiburg im Breisgau
Rozbalit Rozbalit vše Re: Komunikace klient - server
XML-RPC clienta jsem dělal v čistém C pro modul do Samby. Zas tak složité to nebylo, jako knihovna mi stačilo libxml.
Pavel Stárek avatar 27.5.2009 12:56 Pavel Stárek | skóre: 44 | blog: Tady bloguju já :-) | Kolín
Rozbalit Rozbalit vše Re: Komunikace klient - server
Složité to asi není, je k tomu knihovna xmlrpc-c (v distribucích se může vyskytovat nějaký balíček (ve Fedoře to je xmlrpc-c, xmlrpc-c-devel, v Debianu je to libxmlrpc-c3 a libxmlrpc-c3-dev). Bohužel, ve Fedořím devel balíčku není obsažena dokumentace a příklady.
Kdo chce, hledá způsob; kdo nechce, hledá důvod.

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.