Bonjour à tous!!!
Voici mon problème :
Je réalise un chat, avec donc clients / serveur. A la connexion d'un client, le serveur lui envoie un message de bienvenue sur plusieurs lignes du style :
Serveur >>> Bienvenue sur le chat
Serveur >>> Il y a actuellement 4 connectés
Serveur >>> Vous n'avez pas encore de pseudo
etc....
Le seul problème, c'est que mon client ne reçoit pas tjs les données, et c'est complétement aléatoire. Des fois il va afficher une ligne, des fois toutes les lignes.
Ce n'est pas un problème au niveau du serveur, car j'ai testé avec telnet, et ça marche impecc...
Voici un extrait du code de mon client :
Pour la réception des données :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 // Recevoir les données du serveur sur la socket private String recevoir() { String texte = ""; try { BufferedReader input = new BufferedReader(new InputStreamReader(this.serveur.getInputStream())); texte = input.readLine(); } catch (IOException e) {} flux.afficheFluxEntrée(texte); return texte; }
Utilisation de la méthode recevoir() dans le Client :
Au début je pensais que mon traitement de données était trop long, et que l'envoi de données était trop rapide pour qu'elles soient toutes traitées par le client. Malgré tout, mon traitement est relativement restreint, et je pense qu'il est possible que ça vienne plutôt de la méthode readLine(), car j'ai lu qu'elle était deprecated...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 while (true) { String données = recevoir(); if (données != "") traitementDonnées(données); //Traitement des données reçues }
Quelqu'un aurait-il une solution pour moi?
Partager