Axel Richter: Problem beim Lesen aus Socket-Verbindung

Beitrag lesen

Hallo,

StringTokenizer tokens = new StringTokenizer(requestLine, " ");
String requestMethod = tokens.nextToken();
String fileName = tokens.nextToken();
String httpProtocol = tokens.nextToken();

if (requestMethod.equals("POST")) {
  try {
    byte[] bytes = new byte[2];
    DataInputStream dis = new DataInputStream(is);
    dis.read(bytes);
    dis.close();
    resultString = "" + (char)bytes[0] + (char)bytes[1];
  }
  catch (IOException e) {
  }
}

Was passiert denn genau? Welche Testausgaben (System.out.println(variable);) hast Du wo versucht und was haben sie ausgegeben? Welche Fehlermeldungen werden erzeugt?

Du liest hier zwei Bytes aus. Bei Post werden vom Client in den Request-Headern die Felder Content-type (Content-Type)[1] und Content-length (Content-Length)[1] mitgeliefert. Diese musst Du parsen. Bei Content-type == "application/x-www-form-urlencoded" kannst (_musst_) Du Content-length Zeichen lesen. Bei Content-type == "multipart/form-data" wirds sehr viel komplizierter.

[1] leider manchmal auch

viele Grüße

Axel