Sathoan Geschrieben 15. März 2004 Geschrieben 15. März 2004 hallo, ich habe ein serverprog geschrieben, welches - wenn sich ein clientprog damit verbindet - ein thread aufmacht und ein weiteres prog aufruft. nun möchte ich die ausgaben dieses vom thread aufgerufenen progs wieder an das clientprog zurückgeben - nur wie??? es müßte doch irgenwie mit in-outputstreams oder objectstreams zu tun haben.... hat jmd. viel. soger ein bsp.? besten Dank im Vorraus!
etreu Geschrieben 15. März 2004 Geschrieben 15. März 2004 du liest den outputstream des programms mittels eines inputstreams. dieser inputstream wird an den outputstream für das netzwerk übergeben. und fertig (soviel zur theorie)
Sathoan Geschrieben 15. März 2004 Autor Geschrieben 15. März 2004 Hmm, das war schon klar - am besten ich poste hier mal ein bischen mehr: der Serverthread: 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(); } Der Clientthread (fehlt noch einiges): 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 ); } }
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden