QT und RPC?

Verschiedenes zu Qt
Antworten
Baz
Beiträge: 67
Registriert: 22. August 2007 14:21

QT und RPC?

Beitrag von Baz »

Hi,

mich würde einfach mal interessieren welches RPC Framework ihr mit QT verwenden würdet. Ich möchte demnächst ein Projekt realisieren, bei dem ich gerne 2 Programme übers Netzwerk kommunizieren lassen würde. Ich habe mir schon verschiedene Sachen angeschaut, bin mir aber einfach nicht so sicher - für einen guten Tipp wäre ich dankbar :)
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

Wenn es über das Netz sein soll, kannst TCP nehmen und die Daten z.B. via XML austauschen.
Baz
Beiträge: 67
Registriert: 22. August 2007 14:21

Beitrag von Baz »

Ich würde lieber etwas Standardtisiertes nutzen in Richtung SOAP o.ä. - ich hatte mir mal ICE angeschaut, weil das Datenvolumen das übertragen wird sehr gering ist, dann aber festgestellt, dass ICE doch lustig teuer ist... Also irgendetwas in die Richtung wäre ganz praktisch, ich fände es ganz gut, wenn man sich nicht darum kümmern müsste wie die Sachen in XML verpackt werden.
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Baz hat geschrieben:Ich würde lieber etwas Standardtisiertes nutzen in Richtung SOAP o.ä.
http://trolltech.com/products/qt/addon/ ... es/qtsoap/
Ist aber nur für die Kommerzversion verfügbar. Bisher zumindest, wäre nicht die erste Solution die Einzug in den normalen Qt-Code nähme.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

mit gSOAP (http://www.cs.fsu.edu/~engelen/soap.html) habe ich schon gute Erfahrungen (z.B. C++-Client unter Solaris mit VB.NET koppeln) machen koennen...
Baz
Beiträge: 67
Registriert: 22. August 2007 14:21

Beitrag von Baz »

also gSOAP hatte ich mir kurz angeschaut, da fand ich die Doku im ersten Moment etwas unübersichtlich - aber dann werd ich mir das nochmal genauer anschauen - hast du da vielleicht irgendwelche tutorials dazu?
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

naja.. immerhin hat es doku (was man nicht von allen Softwareprojekten behaupten kann...)

Ein guter Einstieg ist z.B.
http://www.cs.fsu.edu/~engelen/soapmain.html#howto

Zugegebenermassen sollte man jedoch bereits eine Ahnung von WebServices haben, denn gSOAP liefert logischerweise nur die Doku zur Library, nicht zu SOAP-Services generell. Gute Einstiegsseiten findest du unter den Keywords "SOAP" und "WSDL" bei der Suchmaschine deiner Wahl.
Es ist jedoch keine Hexerei.. die RPCs werden auf XML-Basis ausgefuehrt und mit einer WSDL-Beschreibung (fuer die Clients) dokumentiert. Die gSOAP-Tools generieren aus dieser Beschreibung C-Code... das war's eigentlich auch schon..

hth,
solariX
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

SOAP ist brauchbar um verschiedene Programme miteinander kommunizieren zu lassen. Wenn ich beide Programme selber unter Kontrolle habe und auch nur die beiden miteinander was zu bereden haben, dann packe ich die Daten in einen String und verschicke sie über einen Socket. SOAP generiert da einiges an Overhead, den ich mir in dem Fall sparen kann.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
Baz
Beiträge: 67
Registriert: 22. August 2007 14:21

Beitrag von Baz »

Hiho,

ich hab mich letzten Endes für gSOAP entschieden, ich habe bisher nur ein großes Problem, ich bekomme es nur unter Linux kompiliert, unter windows aber nicht - ich weiß es gehört eigentlich nicht wirklich hier her, aber vielleicht hat jemand eine Idee. Ich wollte ein modifiziertes Makefile von meinem Projekt auf Linux nutzen (mit mingw o.ä.):

Code: Alles auswählen

GSHOME=D:/CPP/gsoap/
GSOAP=$(GSHOME)bin/soapcpp2
SOAPH=$(GSHOME)stdsoap2.h
SOAPCPP=$(GSHOME)stdsoap2.cpp
SOAPC=$(GSHOME)stdsoap2.c
CPP=g++
CC=gcc
LIBS=
COFLAGS=-O2
CWFLAGS=
CIFLAGS=-I$(GSHOME)
CMFLAGS=
CFLAGS= $(CWFLAGS) $(COFLAGS) $(CIFLAGS) $(CMFLAGS)
all: cpp
cpp: test.h test.cpp $(SOAPH) $(SOAPCPP)
	$(GSOAP) test.h
	$(CPP) $(CFLAGS) -o test test.cpp soapC.cpp soapClient.cpp $(SOAPCPP) $(LIBS)
Was könnte fehlen?

Gruß Baz
Antworten