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
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
问题已经解决,就是长链接的问题。。。
估计你没有close socket!