Heim  >  Fragen und Antworten  >  Hauptteil

Was passiert bei der Übermittlung eines HTTP-Formulars?

Ich habe selbst einen einfachen HTTP-Server entwickelt, der jedoch jedes Mal hängen bleibt, wenn das Formular gesendet wird. . Kann mir jemand helfen herauszufinden, wo das Problem liegt?


Dies ist der Inhalt meines Formulars, bei dem es sich um sehr einfache drei Eingabefelder handelt

    if(bufferedReader.ready()) {
        StringBuilder stringBuilder = new StringBuilder() ;
        int ch ;
        while((ch = bufferedReader.read()) != -1){
            stringBuilder.append((char)ch) ;
            System.out.println(stringBuilder) ;
        }

        line = stringBuilder.toString() ;
    }
    

Ich habe den Eingabestrom des Sockets in diesem bufferReader gekapselt und bin dann while((ch = bufferedReader.read()) != -1){jedes Mal

in dieser Zeile hängengeblieben


Die Ausgabe der Konsole zeigt, dass der gesamte Formularinhalt abgerufen wurde, aber warum nicht -1 zurückgeben? Liegt es daran, dass der Browser HTTP1.1 verwendet und auf das Rückgabeergebnis wartet, um die nächste Anfrage einzugeben? Oder stimmt etwas mit meinem Programm nicht? Ich verwende blockierendes IO

过去多啦不再A梦过去多啦不再A梦2713 Tage vor507

Antworte allen(2)Ich werde antworten

  • 某草草

    某草草2017-05-17 10:04:18

    问题已经解决,就是长链接的问题。。。

    Antwort
    0
  • 迷茫

    迷茫2017-05-17 10:04:18

    估计你没有close socket!

    Antwort
    0
  • StornierenAntwort