Hier mal zum besseren Verständnis ein kurzer Ausschnitt aus dem Quellcode:
Server:
public void run()
{
String msg = „Server: Verbindung " + name;
System.out.println(msg + " hergestellt“);
Process p;
// Aufrufen des Programmes bei richtigem „befehl“…
try {
ObjectOutputStream oos =
new ObjectOutputStream (socket.getOutputStream());
ObjectInputStream ois =
new ObjectInputStream (socket.getInputStream());
String methodenName = (String)ois.readObject();
String returnWert = „Methode nicht gefunden“;
if(methodenName.equals(„Readsoft“))
{
String prog = „C:/Readsoft.bat“; // Name und Ort des Programms
p = Runtime.getRuntime().exec( prog );
BufferedReader in = new BufferedReader(
new InputStreamReader(p.getInputStream()));
String text = „“;
returnWert = „Nicht Erfolgreich beendet“;
while ((text = in.readLine()) != null) //Moeglichkeitsabfrage mit Zuweisung
{
/**
* hier soll die übergabe an Client stattfinden!!!
*/
}
}
oos.writeObject(returnWert); //Returnwert ausgeben…
ois.close();
oos.close();
}
catch(Exception e)
{
System.out.println(e);
}
this.destroy();
}
/**
* @return
*/
private String back()
{
return null;
}
}
Und hier der (noch nicht ganz fertige) Client:
public Client()
{
try
{
Socket server = new Socket ( „“, 7);
System.out.println ("RPC-Client kontaktiert Server " +
server.getInetAddress());
ObjectOutputStream os = new ObjectOutputStream (
server.getOutputStream());
ObjectInputStream is = new ObjectInputStream (
server.getInputStream());
System.out.println("Client Port: ");
System.out.println(server.getPort());
// Name der aufzurufenden Servermethode senden:
os.writeObject(„Readsoft“);
os.flush();
// Returnwert der aufgerufenen Servermethode empfangen
String returnWert = (String)is.readObject();
// Ergebnis anzeigen:
System.out.println("Server antwortet: "+returnWert);
while(!returnWert.equals(„Erfolgreich“))
{
try
{
System.out.println(returnWert);
}
catch(Exception a)
{
System.out.println(„Nicht Erfolgreich“);
System.exit(1);
}
}
}
catch (Exception e)
{
System.out.println ( "Keine Verbindung…\n Fehler: " + e );
}
}