Veröffentlicht 15. März 200421 j 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!
15. März 200421 j 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)
15. März 200421 j 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 ); } }
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.