# IPC unter Java



## steffi_ma (22. Oktober 2004)

Hi,
ich suche für meine Hausarbeit "Konzepte der Interprizesskommunikation die "Anwendungsprogrammierschnittstelle ihrer Implementierung in Java". Also: Pipes, Mailslots, Sockets, RPC, Gemeinsamer Speicherbereich, RMI

Aus der API (http://java.sun.com/j2se/1.5.0/docs/api/index.html) werde ich nicht wirklich schlau   

Kennt jemand informative Seiten oder Quelltext zu der Thematik

Danke Steffi


----------



## Christian Fein (22. Oktober 2004)

steffi_ma hat gesagt.:
			
		

> Hi,
> ich suche für meine Hausarbeit "Konzepte der Interprizesskommunikation die "Anwendungsprogrammierschnittstelle ihrer Implementierung in Java". Also: Pipes, Mailslots, Sockets, RPC, Gemeinsamer Speicherbereich, RMI
> 
> Aus der API (http://java.sun.com/j2se/1.5.0/docs/api/index.html) werde ich nicht wirklich schlau
> ...




http://www.javabuch.de

Da steht einiges über Sockets und auch RPC/ RMI drinne.


----------



## Thomas Darimont (22. Oktober 2004)

Hallo!



> Interprozeßkommunikation über die Klasse Socket realisiert mehr, als einfach nur Objekte über URLs zu laden. Mit ihr kann eine Verbindung zu einem spezifizierten Port auf einem Internet-Host aufgenommen werden. Über die Klassen InputStream und OutputStream von java.io können dann Daten mit einem anderen Prozeß ausgetauscht werden. Für die Implementierung eines IPC-Servers, der Verbindungen mit Clients akzeptiert, kann die Klasse ServerSocket verwendet werden. Sowohl Socket als auch ServerSocket verwenden InetAddress, eine Klasse, die eine Internet-Adresse repräsentiert.



aus: http://www.heise.de/ix/artikel/1996/06/142/

Grundsätzlich sehe ich für Interprozess Kommunikation folgende Wege:
Per Sockets (siehe oben)
Per RMI 
Per Webservice
Per Datei (XML, Textdatei)
Per RPC (RMI ist eine Form von RPC)
Per Corba (Sowie auch Corba eine Form von RPC ist)

Über JNI (Java Native Interface) währe es auch noch möglich über eine C-Schnittstelle mit anderen Prozessen zu Kommunizieren. Hier stehen einem dann wieder alle Möglichkeiten offen die C mi sich bringt.

Allgemein muss man bei dem Begriff InterProzessKommunikation (IPC) bei Java unterscheiden ob man mit den Prozessen nun Java VM's meint oder "gewöhnliche Prozesse". Ab Java 5.0 können nämlich auch mehrere Anwendungen in einer VM laufen.

HTH
Gruß Tom


----------



## melmager (27. Dezember 2004)

Ich grabe mal den Thread aus...

Ich bin auf der Suche nach einer Classe die mit mit der Unix FIFO IPC arbeitet

ich hatte mal sowas gefunden habe aber den Link verbummelt :-(

Sockets sind etwas zu aufwendig -


----------

