J'ai moi-même développé un simple serveur HTTP, mais il reste bloqué à chaque fois que le formulaire est soumis. . Quelqu'un peut-il m'aider à comprendre où se situe le problème ?
Voici le contenu de mon formulaire, qui est très simple à trois zones de saisie
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() ;
}
J'ai encapsulé le flux d'entrée du socket dans ce bufferReader, puis je suis resté bloqué sur cette ligne while((ch = bufferedReader.read()) != -1){
à chaque fois
La sortie de la console montre que tout le contenu du formulaire a été obtenu, mais pourquoi ne pas renvoyer -1 ? Est-ce parce que le navigateur utilise HTTP1.1 et attend le résultat renvoyé pour saisir la requête suivante ? Ou y a-t-il un problème avec mon programme ? J'utilise le blocage des IO
Le problème est résolu, c'est le problème des liens longs. . .
Je suppose que vous n'avez pas fermé la prise !