AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Schnellste Kommunikation zwischen 2 Prozessen
Thema durchsuchen
Ansicht
Themen-Optionen

Schnellste Kommunikation zwischen 2 Prozessen

Ein Thema von Arakis · begonnen am 27. Feb 2004 · letzter Beitrag vom 1. Mär 2004
Antwort Antwort
Seite 2 von 2     12   
Arakis

Registriert seit: 29. Aug 2002
30 Beiträge
 
#11

Re: Schnellste Kommunikation zwischen 2 Prozessen

  Alt 27. Feb 2004, 13:22
*hm*
Also ich glaub nicht dass ich damit glüchlich wäre den Speicher selber zu verwalten. Also ich stelle mir schon vor eine "Funktion" im anderen Prozess aufzurufen. Sie erwartet einfach Datentypen und gibt auch nur einfache Datentypen zurück(string, bool, "ne zahl vom typ xy"). Ich frage halt nur weil einige meinen COM z.b. sei total lahm. Oder per Messages sei eventuell Problematisch wenn die Queue überfüllt ist(??) oder ob das Messagesystem überhaupt dafür gedacht ist so viele kleine Minnianfrage pro Sekunde zu verwalten.

Denn ich verwende ja Objekte des Microsoft Framework's, der auf den Speicher habe ich keinen Zugriff.

Aber kann denn das zukünftige 64-Bit-Framwork auf einem 64-Bit-Betriebsystem(+passender Prozessor) einem(!) Prozess mehr als 2 GB zuweisen? Damit wären alle Probleme beseitigt.
  Mit Zitat antworten Zitat
Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#12

Re: Schnellste Kommunikation zwischen 2 Prozessen

  Alt 27. Feb 2004, 13:24
siehe Beispiel
Ich glaub, das erfüllt genau Deinen Zweck , den Du willst !
  Mit Zitat antworten Zitat
Arakis

Registriert seit: 29. Aug 2002
30 Beiträge
 
#13

Re: Schnellste Kommunikation zwischen 2 Prozessen

  Alt 27. Feb 2004, 13:38
Okay, Prinzip verstanden aber in erster Linie nicht mein Ziel den Speicher manuell zu verwalten.

Ich verwende das Objekt System.Data.DataSet, dies speichert, löscht, ändert, stellt mir die Daten bereit. Es macht Indizierungen, hat Suchfunktionen etc. Auf den physikalischen Speicher hat nicht mal dieses Objekt zugriff, sondern das ist ja das .NET Framework. Ich kann also nur Funktionen aufrufen. Mit geht es um die schnellste Möglichkeit eine Funktion in einem anderen Prozess aufzurufen und ggf. einen kleinen Wert zurück zu bekommen.

Möglich wäre das über Net-sockets, oder COM oder Messages, so viel ist mir bekannt. Aber ich habe keine Erfahrung welches die schnellste Möglichkeit ist und für .NET überhautp verwendbar ist.
  Mit Zitat antworten Zitat
Arakis

Registriert seit: 29. Aug 2002
30 Beiträge
 
#14

Re: Schnellste Kommunikation zwischen 2 Prozessen

  Alt 1. Mär 2004, 01:06
Ich habe mich erkundigt, Raw-Sockets und Namedpipes sollen wohl die schnellste Möglichkeit darstellen.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Schnellste Kommunikation zwischen 2 Prozessen

  Alt 1. Mär 2004, 08:46
Zitat von Arakis:
Ich habe mich erkundigt, Raw-Sockets und Namedpipes sollen wohl die schnellste Möglichkeit darstellen.
Zu Named [dp]Pipe*[/dp]s findest Du hier im Forum über die Suche ein paar Komponenten und Beispiele von mir.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Arakis

Registriert seit: 29. Aug 2002
30 Beiträge
 
#16

Re: Schnellste Kommunikation zwischen 2 Prozessen

  Alt 1. Mär 2004, 09:26
Was ist denn schneller, Namedpipes oder Mailslots?

Ein paar Hintergründe:
Alle wichtigen Tabellen der Datenbank in in einem .NET-Dataset geladen. Für jede
Tabelle habe ich eine "Wrapper-Klasse" die als privates Member die DataRow
hat und mir die Spaltenwerte per Get/Set-Properties verwaltet.
Ich möchte zukünftig das ganze DataSet in einem seperaten Prozess haben.
Dabei sollen die Get-/Set-Properties in Echtzeit auf die Daten im anderen
Prozess zugreifen(Nur einfache Wertetypen, ohne Strukturen). Daher die
benötigte ernorme Gewschindigkeit, denn selbst wenn die Abfrage "nur" eine
Millisekunde benötigen würde, so wäre das schon extrem langsam! *g*

Falls sich jemand wundert warum ich ein .NET-Problem hier in einem Delphi-Forum stelle:
1. Hier sind schlaue Köpfchen, das ist mir seit langem bekannt
2. für .NET gibt es ja nun auch Delphi-Syntax
3. In .NET-Foren denken alle viel zu "Frameworkorientiert", machen es sich mega einfach. Also so ne XML-Serialisierung mit .NET-Remoting, klasse Performance(selbst wenn Binary-Formatierung mit tcp-Channel)
3. In .NET kann man Win32-API einbinden
  Mit Zitat antworten Zitat
Arakis

Registriert seit: 29. Aug 2002
30 Beiträge
 
#17

Re: Schnellste Kommunikation zwischen 2 Prozessen

  Alt 1. Mär 2004, 11:48
Okay, und mal erkundigt sich weiter.

- Wenn der Prozess auf einem anderen Computer im LAN oder gar WAN ist, dann kommt TCP/IP in Frage.
- Generell sind Namedpipes im LAN langsamer als TCP/IP und im WAN sogar noch mehr.
- Lokal jedoch sind sie extrem schnell, da sie im Kernel laufen und Memory mapped files nutzen.

Richtig verstanden?

Quelle: http://groups.google.de/groups?q=%22named+pipes%22&hl=de&lr=lang_de|lang_e n&ie=UTF-8&oe=UTF-8&newwindow=1&selm=ejNuLPVtCHA.2176%40TK2MSFTNGP12 &rnum=33
  Mit Zitat antworten Zitat
Arakis

Registriert seit: 29. Aug 2002
30 Beiträge
 
#18

Re: Schnellste Kommunikation zwischen 2 Prozessen

  Alt 1. Mär 2004, 12:09
Ach wie niedlich, hier ist eine Übersetzung:

http://groups.google.de/groups?q=%22named+pipes%22&hl=de&lr=lang_de|lang_e n&ie=UTF-8&oe=UTF-8&newwindow=1&selm=utL7OC%24bAHA.1316%40tkmsftngp0 2&rnum=45

  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 11:03 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