Interprozess-Kommunikation

Hallo,

um sich mit einem anderen Java-Prozess austauschen zu können, sehe ich derzeit keine andere Möglichkeit als Sockets.

NamedPipes, die ich aus der C+±Programmierung her kenne, gibt es hier nicht.

Funktioniert die Socket-Geschichte auch auf Rechnern, die keine Netzwerkkarte haben unter Verwendung der IP-Adresse localhost, oder kann es da zu Problemen kommen?

Dirk

Hallo,

um sich mit einem anderen Java-Prozess austauschen zu können,
sehe ich derzeit keine andere Möglichkeit als Sockets.

NamedPipes, die ich aus der C+±Programmierung her kenne, gibt
es hier nicht .

Hallo
Handelt es sich um verschiedene Prozesse eines Programms , oder um verschiedene Programme ?
Innerhalb eines Programms könnte man eine gemeinsame Variable setzen , und ein Ereignis im anderen Prozess auslösen .
Java kenn ich aber nicht so , im VB-Handbuch ist ein Beispiel für Nachrichten innerhalb eines PC’s . Also der braucht nicht in irgendeinem Netzwerk zu sein .
MfG

Handelt es sich um verschiedene Prozesse eines Programms ,
oder um verschiedene Programme ?
Innerhalb eines Programms könnte man eine gemeinsame Variable
setzen , und ein Ereignis im anderen Prozess auslösen .

Ich meine keinen Thread. Es sind tatsächlich zwei getrennt gestartete Programme.

Java kenn ich aber nicht so , im VB-Handbuch ist ein Beispiel
für Nachrichten innerhalb eines PC’s . Also der braucht nicht
in irgendeinem Netzwerk zu sein .

Das ist der Kern der Frage: Brauche ich tatsächlich ein Netzwerk, oder geht das auch ohne.
Habe mich vielleicht nicht klar genug ausgedrückt.

Dirk

Hallo,

Funktioniert die Socket-Geschichte auch auf Rechnern, die
keine Netzwerkkarte haben unter Verwendung der IP-Adresse
localhost, oder kann es da zu Problemen kommen?

Netzwerkbetrieb erfordert nicht notwendigerweise eine
Netzwerkkarte (denk’ mal an PPP über ein 0815-Modem).
Allerdings sollte Dein Rechner zumindest das loopback
Device verfügen und es unter localhost resp. 127.0.0.1
ansprechen können.

Gruss
Enno

Hallo Enno,

erst mal danke für die Antwort.

Netzwerkbetrieb erfordert nicht notwendigerweise eine
Netzwerkkarte (denk’ mal an PPP über ein 0815-Modem).
Allerdings sollte Dein Rechner zumindest das loopback
Device verfügen und es unter localhost resp. 127.0.0.1
ansprechen können.

Unter Windows2000 habe ich sowas ja, wie sieht es aber bei Win9x aus. ist das standarmässig aktiviert? Muss ich da noch etwas beachten?

Dirk

Hallo,

Unter Windows2000 habe ich sowas ja, wie sieht es aber bei
Win9x aus. ist das standarmässig aktiviert? Muss ich da noch
etwas beachten?

Ob es standardmäßig aktiviert ist weiß ich nicht.
„ping localhost“ auf der DOS-Konsole sollte Dir
darüber Auskunft geben.

Gruss
Enno

Das ist der Kern der Frage: Brauche ich tatsächlich ein
Netzwerk, oder geht das auch ohne.
Habe mich vielleicht nicht klar genug ausgedrückt.

Hallo .
Dieser Netzwerkkram erscheint mir deutlich zu kompliziert .
Bevor ich damit anfange , müßte ich direkt Bedarf für eine Netzwerkanwendung haben , oder bereits ein fertiges Programm zur Hand .
In einem Windowssystem gibt es aber auch die Messages . Ein Programm kann an das window eines anderen eine Message senden . Wie man das macht , müßte ich erstmal rausklambüsern . Stichwort Sendmessage , Peekmessage , getmessage , translatemessage usw .
Das geht über API-calls , und nicht ohne Dokumentation .
Damit kann zum Beispiel eine Anwendung in das Textfenster einer anderen Anwendung schreiben .
Ich gebe den Tip auch deshalb , weil es sich anscheinend nicht um ein Script sondern um ein *.exe file handelt .
Desweiteren kann man eine Datei erstellen , welche sich nur im Ram aufhält , virtuell oder so . Diese Datei kann dann zum Beispiel beschrieben und periodisch abgefragt werden .
Also das kriegst Du jetzt wohl hin .
MfG
Matthias

Kann ich leider alles nicht verwenden, weil ich auch unter TUNIX laufen können muss.

Trotzdem Danke
Dirk

Also soviel ich weiss, ist es standardmäßig nicht aktiviert. Auf meinem alten WIN98-Rechner zuhause funktioniert der PING-Befehl auf jeden Fall nicht.

Ob es standardmäßig aktiviert ist weiß ich nicht.
„ping localhost“ auf der DOS-Konsole sollte Dir
darüber Auskunft geben.

Hallo,

um sich mit einem anderen Java-Prozess austauschen zu können,
sehe ich derzeit keine andere Möglichkeit als Sockets.

Nach dem was ich hier lese bleidt nur noch selbst eine Socketfactory zu implementieren. Die kann dann je nach Rechner reguläre „TCP/IP“-Sockets benutzen oder auf windows-bordmittel zurückgreifen, jenachdem welche Exceptions geworfen werden. Die Bordmittel erreicht man am einfachsten über JNI, das man dann benutzen kann da windws 9x eh nur auf x86 läuft.

Funktioniert die Socket-Geschichte auch auf Rechnern, die
keine Netzwerkkarte haben unter Verwendung der IP-Adresse
localhost

unter windows 9x ? nein, das geht nicht, dem Ding fehlt der TCP/IP-stack.

cu