Hallo,
ich schreibe grad ein kleines Programm und an sich läuft es auch. Nur wird mir dann nichts mehr zurückgeschrieben?
Ich starte das Programm und gebe dann im Terminal zum Beispiel ein:
curl -X POST http://localhost:16356/23
Dann wird die 23 eingefügt, aber ich bekomme den HttpRequest nicht zurück aufs Terminal geschrieben? Was fehlt?
Was ist der Unterschied von .print() und .write() aus der PrintWriter Klasse?
MfG
werdas34
ich schreibe grad ein kleines Programm und an sich läuft es auch. Nur wird mir dann nichts mehr zurückgeschrieben?
Ich starte das Programm und gebe dann im Terminal zum Beispiel ein:
curl -X POST http://localhost:16356/23
Dann wird die 23 eingefügt, aber ich bekomme den HttpRequest nicht zurück aufs Terminal geschrieben? Was fehlt?
Java:
public class NetListServer {
private final List<Integer> list = new ArrayList<>();
public NetListServer(ServerSocket serverSocket) throws IOException {
// Endlos wiederholen …
while (true) {
// Socket, Reader, Writer erzeugen
try ( Socket socket = serverSocket.accept();
BufferedReader from = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter to = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()))) {
// Request aus Reader lesen und analysieren: Code in Teilaufgabe b.)
String line = from.readLine();
String[] split = line.split(" ");
String httpMethod = split[0];
String index, value, httpHeader;
int re;
// Liste je nach HTTP-Methode verändern: Code in Teilaufgabe c.)
// Response via Writer zurücksenden: Code in Teilaufgabe d.)
if(httpMethod.equalsIgnoreCase("POST")){
value = split[1].substring(1, split[1].length());
httpHeader = split[2];
list.add(Integer.parseInt(value));
to.print(httpHeader + " 200 OK \n");
to.flush();
}
}
}
}
public static void main(String... args) throws IOException {
try (ServerSocket sSocket = new ServerSocket(16356)) {
// Sersocket öffnen und damit Ctor aufrufen
NetListServer server = new NetListServer(sSocket);
}
}
}
Was ist der Unterschied von .print() und .write() aus der PrintWriter Klasse?
MfG
werdas34