Hallo,
meine Aufgabe lautet, einen Client und Server zu schreiben. Der Client schickt dem Server ne Datei und der Server schickt dann den Inhalt leicht modifiziert zurück - heißt: Die Anzahl der Zeichne im String - so oft wird er ausgeben und mit einem Symbol am Anfang und Ende ergänzt. Das Ergebnis schreibt der Client in die Konsole.
Bsp:
Hallo
xHallox
xHallox
xHallox
xHallox
xHallox
Soweit funktioniert es auch, nur er liest nur die erste Zeile meiner Datei ein.
Weitere Zeilen werden ignoriert. Warum? Was ist faslch?
Bei meiner nächsten Aufgabe soll ich einen Webserver schreiben.
Wenn ich den Typ HttpServer verwende, dann kommt die Meldung das HttpServer nicht existiert - man solleden Typ selbst definieren.
Nur finde ich nichts im Web, wie oder was ich tun muss, damit das funktioniert. Habe sogar ganze Beispiele mit HttpServer aus dem Netz kopiert und getestet, aber da funktioniert auch nichts.
Installiert ist Java 8.
thx
mfg werdas34
meine Aufgabe lautet, einen Client und Server zu schreiben. Der Client schickt dem Server ne Datei und der Server schickt dann den Inhalt leicht modifiziert zurück - heißt: Die Anzahl der Zeichne im String - so oft wird er ausgeben und mit einem Symbol am Anfang und Ende ergänzt. Das Ergebnis schreibt der Client in die Konsole.
Bsp:
Hallo
xHallox
xHallox
xHallox
xHallox
xHallox
Soweit funktioniert es auch, nur er liest nur die erste Zeile meiner Datei ein.
Weitere Zeilen werden ignoriert. Warum? Was ist faslch?
Code:
public class KingslakeClient {
public static void main(String[] arg) throws Exception {
// String[] args = { "Hallo"};
try (Socket socket = new Socket("localhost", 57777);
BufferedReader from = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter to = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()))) {
// to.println(args[0]);
// to.flush();
List<String> lines = Files.readAllLines(Paths.get("Graph.txt"));
for(int i = 0; i < lines.size(); i++) {
to.println(lines.get(i));
to.flush();
}
String str = "";
while(!str.equals("\0")) {
str = from.readLine();
System.out.println(str);
}
}
}
}
public class KingslakeServer {
public static void main(String[] arg) throws Exception {
try (ServerSocket server = new ServerSocket(57777)) {
boolean acceptRequests = true;
while (acceptRequests) {
Socket socket = server.accept();
new Thread() {
public void run() {
String[] args = { "x" };
try (InputStream is = socket.getInputStream();
Reader r = new InputStreamReader(is);
BufferedReader from = new BufferedReader(r);
OutputStream o = socket.getOutputStream();
Writer w = new OutputStreamWriter(o);
PrintWriter to = new PrintWriter(w)) {
String input = from.readLine();
for (int i = 0; i < input.length(); i++) {
to.println(args[0] + input + args[0]);
to.flush();
}
to.println("\0");
to.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
}
}
}
}
Bei meiner nächsten Aufgabe soll ich einen Webserver schreiben.
Wenn ich den Typ HttpServer verwende, dann kommt die Meldung das HttpServer nicht existiert - man solleden Typ selbst definieren.
Nur finde ich nichts im Web, wie oder was ich tun muss, damit das funktioniert. Habe sogar ganze Beispiele mit HttpServer aus dem Netz kopiert und getestet, aber da funktioniert auch nichts.
Installiert ist Java 8.
thx
mfg werdas34