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! Zitieren
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) Zitieren
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 ); } } Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.