Hello,
ich bin gerade an einem kleinen Projekt dran, nämlich beim basteln einer Console, damit ich mit einem Teamspeak-server kommunizieren kann. (Befehle senden, abfragen, Antworten->auslesen)
Mein Tool funktioniert auch einwandfrei, jedoch erlaubt er mir nur 1 Zeile aus dem BuffedReader auszulesen.
Habe es versucht mit ner While schleife, so lange auszulesen bis null zutrifft. Funktioniert nur zur Hälfte. Denn das Programm selbst (Oberfläche) hängt sich auf, aber davor wird der Befehl erfolgreich ausgeführt (System.out schreibt mir das ergebniss mehrzeilig aus).
Die Oberfläche bekommt aber nichts vom Kuchen ab. Habe es schon mit "neanderthalerischen" if's versucht - Ohne Erfolg, while-do Schleife - Ohne Erfolg.
Es müsste theoretisch die While schleife funktionieren, wäre super wenn jemand Tipps hat, oder einen Fehler sieht.
Habe es auch schon mit dem mark() und reset() versucht. Aber ging auch nicht
Hier der Code:
Habe die eingabe vom Benutzer durch, einen festen Befehl ersetzt um das Problem einzugrenzen.
Der sl Befehl sollte erfolgreich dies zurückliefern:
8767
OK
Davor käme noch die Antwort:
[TS]
Danke vielmals für die Mühe, hier zu helfen.
ich bin gerade an einem kleinen Projekt dran, nämlich beim basteln einer Console, damit ich mit einem Teamspeak-server kommunizieren kann. (Befehle senden, abfragen, Antworten->auslesen)
Mein Tool funktioniert auch einwandfrei, jedoch erlaubt er mir nur 1 Zeile aus dem BuffedReader auszulesen.
Habe es versucht mit ner While schleife, so lange auszulesen bis null zutrifft. Funktioniert nur zur Hälfte. Denn das Programm selbst (Oberfläche) hängt sich auf, aber davor wird der Befehl erfolgreich ausgeführt (System.out schreibt mir das ergebniss mehrzeilig aus).
Die Oberfläche bekommt aber nichts vom Kuchen ab. Habe es schon mit "neanderthalerischen" if's versucht - Ohne Erfolg, while-do Schleife - Ohne Erfolg.
Es müsste theoretisch die While schleife funktionieren, wäre super wenn jemand Tipps hat, oder einen Fehler sieht.
Habe es auch schon mit dem mark() und reset() versucht. Aber ging auch nicht
Hier der Code:
Java:
try {
String host = "host";
Socket echoSocket = new Socket("localhost",51234);
OutputStream socketoutstr = echoSocket.getOutputStream();
OutputStreamWriter osr = new OutputStreamWriter( socketoutstr );
BufferedWriter bw = new BufferedWriter( osr );
InputStream socketinstr = echoSocket.getInputStream();
InputStreamReader isr = new InputStreamReader( socketinstr );
BufferedReader br = new BufferedReader( isr );
String antwort;
String anfrage;
anfrage = "sl";
bw.write(anfrage);
bw.newLine();
bw.flush();
while ((antwort = br.readLine()) != null) {
tf.append(antwort);
System.out.println(antwort);
}//Ende while
br.close();
bw.close();
echoSocket.close();
}
catch (UnknownHostException uhe) {
System.out.println(uhe);
}
catch (IOException ioe) {
System.out.println(ioe);
}
Habe die eingabe vom Benutzer durch, einen festen Befehl ersetzt um das Problem einzugrenzen.
Der sl Befehl sollte erfolgreich dies zurückliefern:
8767
OK
Davor käme noch die Antwort:
[TS]
Danke vielmals für die Mühe, hier zu helfen.
Zuletzt bearbeitet: