[gelöst] Verbindung zwischen 2 Applikationen

Alles rund um die Programmierung mit Qt
Antworten
Strahlex
Beiträge: 158
Registriert: 23. Dezember 2008 15:49
Wohnort: Österreich

[gelöst] Verbindung zwischen 2 Applikationen

Beitrag von Strahlex »

Hallo,

ich möchte eine einseitige Verbindung zwischen 2 Programmen aufbauen. Es geht im Prinzip darum von der einem Applikation eine Funktion in der 2. aufzurufen, bzw. muss ich eigentlich nur einen Integer-Wert übergeben.
Sollte mit DBus funktionieren wenn mich nicht alles täuscht, nur werd ich nicht ganz schlau aus dem was in der Doku darüber steht.

Kann mir vielleicht Irgendwer helfen und einen kleinen Ansatz geben (vor allem für die Server-Seite), ein kleines Example Programm würde mir auch schon weiterhelfen.
Zuletzt geändert von Strahlex am 17. Februar 2010 22:57, insgesamt 1-mal geändert.
MasterK
Beiträge: 24
Registriert: 10. November 2009 23:10

Beitrag von MasterK »

DBus geht nur unter linux.
Einfachste variante wäre localsocket/localserver. Sharedmemory wäre auch noch eine möglichkeit.
Oder ganz konservativ: ne datei :)
TSS
Beiträge: 73
Registriert: 24. November 2009 15:40
Kontaktdaten:

Beitrag von TSS »

Oder, wenn es wirklich nur 1 Integer-Wert ist, über einen Parameter beim Aufruf der Application.
GSoft
Beiträge: 24
Registriert: 30. Dezember 2008 01:16
Wohnort: NRW

Beitrag von GSoft »

MasterK hat geschrieben:DBus geht nur unter linux.
Mittlerweile steht auf http://www.freedesktop.org/wiki/Softwar ... indowsport eine Portierung für Windows zur Verfügung.

Alternativ könntest du dich mit Named Pipes auseinander setzen, ist eigentlich unter Windows das Verfahren um zwischen Prozessen zu kommunizieren. Einer meiner Kollegen hat eine Implementation geschrieben und diese läuft bisjetzt unter Windows sehr gut. (allerdings ist das ne kommerzielle software, deswegen kann und darf ich kein Code rausgeben!).

Gruß
GSoft
Lerne aus den Fehlern Anderer! Du hast nicht die Zeit sie selbst zu machen.
Strahlex
Beiträge: 158
Registriert: 23. Dezember 2008 15:49
Wohnort: Österreich

Beitrag von Strahlex »

Wer redet hier von Windows? Freiwillig starte ich sowas nicht mehr.
TSS hat geschrieben:Oder, wenn es wirklich nur 1 Integer-Wert ist, über einen Parameter beim Aufruf der Application.
Ja daran habe ich auch ursprünglich gedacht, nur ist die Anwendung ja bereits gestartet wenn ich den Wert übergeben will. Bei Amarok ist das irgentwie so implementiert, würde mich jetzt interessieren wie die das gemacht haben, vielleicht sollte ich mir mal den Sourcecode anschaun.

Das mit den Sockets wär natürlich auch Möglich, nur halte ich das schon für zu aufwendig (mit UDP vielleicht gar net so schlecht);
Strahlex
Beiträge: 158
Registriert: 23. Dezember 2008 15:49
Wohnort: Österreich

Beitrag von Strahlex »

Ok, Amarok verwendet KCmdLineArgs.
QLocalSocket scheint das zu sein was ich brauch.
MasterK
Beiträge: 24
Registriert: 10. November 2009 23:10

Beitrag von MasterK »

GSoft hat geschrieben:Alternativ könntest du dich mit Named Pipes auseinander setzen, ist eigentlich unter Windows das Verfahren um zwischen Prozessen zu kommunizieren.
QLocalSocket verwendet unter windows afaik named pipes.
Strahlex
Beiträge: 158
Registriert: 23. Dezember 2008 15:49
Wohnort: Österreich

Beitrag von Strahlex »

Funktioniert perfekt. Danke für die Hilfe!
Antworten