AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Wie kann mein Programm einem Dienst Nachrichten senden?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kann mein Programm einem Dienst Nachrichten senden?

Ein Thema von gpvg · begonnen am 24. Jan 2008 · letzter Beitrag vom 25. Jan 2008
Antwort Antwort
Seite 1 von 2  1 2      
gpvg

Registriert seit: 22. Mär 2007
Ort: Erfurt
18 Beiträge
 
Turbo Delphi für Win32
 
#1

Wie kann mein Programm einem Dienst Nachrichten senden?

  Alt 24. Jan 2008, 16:47
Und natürlich auch: Wie kann der Dienst meinem Programm Nachrichten schicken?
Noch ein kleiner Haken dabei: Der Dienst läuft unter einem anderen Account.

Bisher haben sich Anwendung und Dienst immer über Schreiben und Auslesen einer Datei verständigt, aber das ist sicher nicht gerade die professionelle Variante.

Hat jemand eine Idee?

Vielen Dank für die Hilfe.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Wie kann mein Programm einem Dienst Nachrichten senden?

  Alt 24. Jan 2008, 16:49
Socket, Pipe
Markus Kinzler
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Wie kann mein Programm einem Dienst Nachrichten senden?

  Alt 24. Jan 2008, 16:50
Named Pipes und Memory Mapped Files dürften zum am häufigsten Verwendeten gehören.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Wie kann mein Programm einem Dienst Nachrichten senden?

  Alt 24. Jan 2008, 16:59
TCP/IP
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Wie kann mein Programm einem Dienst Nachrichten senden?

  Alt 24. Jan 2008, 17:00
Ist es sinnvoll, ein Netzwerkprotokoll zu verwenden, um zwischen Programmen auf demselben Computer Nachrichten auszutauschen?
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von thkerkmann
thkerkmann

Registriert seit: 7. Jan 2006
Ort: Pulheim Brauweiler
464 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Wie kann mein Programm einem Dienst Nachrichten senden?

  Alt 24. Jan 2008, 17:13
Zitat von Apollonius:
Ist es sinnvoll, ein Netzwerkprotokoll zu verwenden, um zwischen Programmen auf demselben Computer Nachrichten auszutauschen?
Und ob....

Die Daten gelangen ja nicht bis auf die Netzwerkkarte, sondern werden auf Grund der Adresse (localhost / 127.0.0.1) nur im TCP Stack des OS gehalten und weitergeleitet.
Vorteile:
gesicherte Kommunikation (TCP/IP Protokoll)
Universell über Prozessgrenzen und Accounts hinweg
Leicht zu pflegen

Wir verwenden das in einem großen Softwaresystem schon seit Jahren, und das macht sich prima.

Ein weiterer Vorteil ist, dass man auch von einer anderen Maschine aus kommunizieren kann, wenn gewünscht. Keine Änderungen notwendig. Ein Client connected sich einfach auf den Dienst und arbeitet damit.

Gruss
Thomas Kerkmann
Ich hab noch einen Koffer in Borland.
http://thomaskerkmann.wordpress.com/
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Wie kann mein Programm einem Dienst Nachrichten senden?

  Alt 24. Jan 2008, 17:17
Von der leichteren Portierung in ein Netzwerk abgesehen haben Pipes und MMFs auch die anderen Vorteile. Und irgendwie erscheint es mir widersinnig, TCP ohne Netzwerk zu verwenden, allein weil man einen Port blockiert. Ist aber auch egal.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#8

Re: Wie kann mein Programm einem Dienst Nachrichten senden?

  Alt 24. Jan 2008, 18:06
Zitat von thkerkmann:
Die Daten gelangen ja nicht bis auf die Netzwerkkarte, sondern werden auf Grund der Adresse (localhost / 127.0.0.1) nur im TCP Stack des OS gehalten und weitergeleitet.
Vorteile:
gesicherte Kommunikation (TCP/IP Protokoll)

Gruss
Sicher ist das wirklich nicht! Mit lokalem Netzwerksniffer kann man das wunderbar einsehen.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
gpvg

Registriert seit: 22. Mär 2007
Ort: Erfurt
18 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Wie kann mein Programm einem Dienst Nachrichten senden?

  Alt 25. Jan 2008, 08:34
In Ordnung, wie Pipes grundsätzlich funktionieren, weiß ich als alter Linux-Freak.
Da mein Programm für Windows 2k und nachfolgende sein soll, dürfte das also nicht das Problem sein.

Jetzt kommen wir aber zum nächsten Punkt, der unter Windows nicht so ganz unwichtig ist.
Der Dienst läuft mit Systemrechten und nicht jeder soll ihn benutzen können. Die Frage ist, wie der Dienst erkennen kann, wer ihm da etwas durch die Pipe schickt, damit er dann (zum Beispiel über Gruppenmitgliedschaften) entscheiden kann, ob der User überhaupt berechtigt zu dieser Aktion ist.
Klar, der User könnte seinen Namen mitschicken, nur könnte das ja auch gelogen sein.
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Wie kann mein Programm einem Dienst Nachrichten senden?

  Alt 25. Jan 2008, 08:42
Zitat von Dezipaitor:
Zitat von thkerkmann:
Die Daten gelangen ja nicht bis auf die Netzwerkkarte, sondern werden auf Grund der Adresse (localhost / 127.0.0.1) nur im TCP Stack des OS gehalten und weitergeleitet.
Vorteile:
gesicherte Kommunikation (TCP/IP Protokoll)

Gruss
Sicher ist das wirklich nicht! Mit lokalem Netzwerksniffer kann man das wunderbar einsehen.
Dann muss man halt vorher die Daten verschlüsseln, wenn diese so wichtig sind
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz