Maison >Java >javaDidacticiel >Pourquoi mon client Java Socket ne reçoit-il pas les réponses du serveur ?

Pourquoi mon client Java Socket ne reçoit-il pas les réponses du serveur ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-09 07:13:01450parcourir

Why Is My Java Socket Client Not Receiving Server Replies?

Java Socket : traitement des réponses du serveur qui ne répond pas aux demandes des clients

Dans le scénario présenté, le client envoie avec succès une chaîne au serveur, invitant le serveur doit traiter et répondre. Cependant, le client ne parvient pas à recevoir la réponse du serveur.

Cause première :
Le problème provient de l'absence de caractères de fin de ligne ("rn") ajoutés à la fin du chaînes écrites dans les flux de sortie. Cela entrave la communication entre le client et le serveur, ce qui fait que la réponse du serveur passe inaperçue par le client.

Solution :
Pour résoudre ce problème, assurez-vous que "rn" est ajouté à la chaîne avant de l'envoyer.

Client Modification :

string = "end";
out.write(string + "\r\n");
out.flush();

Modification du serveur :

out.write("to end" + "\r\n");
out.flush();
out.close();
System.out.println("end");

En ajoutant les caractères de fin de ligne, le flux de communication entre le client et le serveur s'améliore. La réponse du serveur devient reconnaissable par le client, permettant d'obtenir la fonctionnalité d'impression souhaitée côté client.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn