Problème dans un réception de donnée tcpclient et tcplistener

tonyledragon Messages postés 173 Date d'inscription lundi 2 mai 2011 Statut Membre Dernière intervention 13 décembre 2012 - 25 mai 2012 à 14:09
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 3 juin 2012 à 14:35
Bonjour,
voila je reviens avec un problème de taille après deux jour de rechercher impossible d'identifier la faille donc je me remet a vous.
Voici mon problème

J'ai 1 client et un serveur jusqu’à la sa va un tcpclient et un tcplistener

Donc j'ai une data base pour recevoir les donnée de chacun.
Donc voici le problème :
Avec le client j'envoie un donnée exemple tchat/message
Le serveur le recoi l'analyse le traite le renvoie
Donc je recoi au client le message tchat/message puis d'un coups je recoi un donnée vide enfin presque vide il y a 1 espace dedans donc le client plante car il ne peut analyser la source donc j'ai chercher sur le serveur quel et le problème seulement impossible trouvé d'ou et envoyer se message aussi pour dire j'ai pas qu'un seul réception donc sa viens pas d'un problème de code mais bien d'un problème avec ce code il et pareil que les 15 autre mais bug bizarrement.

Je fait un petit resumer en cas ou :
Client envoie "tchat message"
serveur recoi le message client analyse puis le renvoie
Le client recoi analyse imprime dans un textebox
Le client recoi 1 deuxieme donnée avec 1 espace et plante.

Comme j'ai dit ci dessus rien ne change comparer au 15 code si quelque peut m'aide je precise je suis sur vb.net2010 je vous présente aussi le code devectieux :

coter client l'envoie :
Dim netStream As NetworkStream = Client.GetStream()
        Dim sendbytes As [Byte]() = Encoding.UTF8.GetBytes("envoimsgtchat/" & nomdragon & ": " & msgenvoie)
        netStream.Write(sendbytes, 0, sendbytes.Length)


coter client la réception et renvoie du message :
Case "msgtchat"
                frmdreagon.txttchat.Text = receptDonnee

coter serveur la réception
 Case "envoimsgtchat"
                For i = 1 To 50
                    If Client(i).Connected = True Then
                        Dim netStream As NetworkStream = Client(i).GetStream()
                        Dim sendbytes As [Byte]() = Encoding.UTF8.GetBytes("msgtchat/" & receptDonnee)
                        netStream.Write(sendbytes, 0, sendbytes.Length)
                    End If
                Next


je vous remercie d'avance de votre aide

8 réponses

Utilisateur anonyme
25 mai 2012 à 16:40
Bonsoir,
As-tu fais un test de données disponibles à lire avec la propriété Available ?
0
Utilisateur anonyme
25 mai 2012 à 16:45
Un peu de lecture pour compléter.
0
tonyledragon Messages postés 173 Date d'inscription lundi 2 mai 2011 Statut Membre Dernière intervention 13 décembre 2012 1
25 mai 2012 à 21:43
Salut,Bref je sais pas comment mais j'ai juste changer 1 ligne de condition dans mon code c'est la ligne ou je contrôle si le client recoi 0 ne rien faire ben cette ligne a était changer et sa a re fonctionner je m'excuse du dérangement et merci quand meme ^^
0
tonyledragon Messages postés 173 Date d'inscription lundi 2 mai 2011 Statut Membre Dernière intervention 13 décembre 2012 1
25 mai 2012 à 21:44
As-tu fais un test de données disponibles à lire avec la propriété Available ?
oui c'est lui qui ma fait planter justement ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
31 mai 2012 à 20:28
Bonjour,

Peux-tu montrer une version plus récente du code alors ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
tonyledragon Messages postés 173 Date d'inscription lundi 2 mai 2011 Statut Membre Dernière intervention 13 décembre 2012 1
3 juin 2012 à 10:37
Salut oui pas de soucis seulement j'ai encore un problème avec un autre code qui fait juste changer de page au joueur mais il m'envoie un message vide comme avant a l'ouverture ou même de fois sans bouger de la page comment je peut détruire se bugs car mon serveur a la propriété avaible <> 0 mais le client la pas sinon les envoie de message bugs
0
tonyledragon Messages postés 173 Date d'inscription lundi 2 mai 2011 Statut Membre Dernière intervention 13 décembre 2012 1
3 juin 2012 à 10:42
Par contre le truc incompressible et que si par exemple je met un msgbox ben a se moment la sa envoie pas de message vide mais si je met pas de msgbox sa l'envoie c'est se qui m'en, compréhensible
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
3 juin 2012 à 14:35
Bonjour,

Je ne vois pas de quel code tu parles, je ne comprend pas le problème.
Tu peux reformuler avec un peu de code aussi ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
0
Rejoignez-nous