TCP Paquets Concatentation

TCP Paquets Concatentation - VB/VBA/VBS - Programmation

Marsh Posté le 05-02-2008 à 16:50:13    

J'ai programmé un client TELNET en VB6 et lorsque je reçois les données, les paquets sont concatené et je ne peut pas faire le traitement adéquat de la "chaine de caractères". Si je doit vérifier une chaine de caractère et que Winsock a eu la brillante idée d'y insérer un retour de ligne en plein milieu, je ne peut pas traité cette ligne.
 
J'ai essayé plusieurs recherche sur Google et je n'ai rien trouvé.
 
Je doit trouvé un moyen de traité les chaine de caractères jusqu'au retour de ligne et j'essaye de trouver une facon de faire et je n'y arrive pas :(
 
Pouvez vous m'aligner sur la bonne voie.. meme en pseudo-language ca me donnerais une idée.
 
Merci a tous

Reply

Marsh Posté le 05-02-2008 à 16:50:13   

Reply

Marsh Posté le 05-02-2008 à 22:41:56    

En quoi le caractère de fin de ligne t'empêche de traiter ta chaîne ?
Il suffit de l'épurer (Replace), voire de la découper (Split) après avoir vérifié si ce caractère est présent ou non (InStr), non ?  
Ou quelque chose m'échappe.

Reply

Marsh Posté le 06-02-2008 à 14:07:36    

Si il y a une coupure (parce que une chaine trop longue est concactené) et que je doit verifier la chaine:
 
data = ":server nam                  <- Remarque le retour de ligne
e:John JOIN #help:"
(remarque le retour de ligne)
 
et que je doit verifier si:
inStr(data, ":server name:John JOIN #help:" ) est valide, il ne le sera pas à cause du retour de ligne généré automatiquement lorsque les donnée envoyé sont trop longue.
 
Aussi, je ne peut pas moi meme ENLEVÉ les CRLF puisque par la suite jai besoin de renvoyer la chaîne (encore via un socket) à un autre client. Donc, j'ai besoin des CRLF.
 
PS: Je ne veux pas etre corrigé sur la syntax du protocole IRC, ce n'étais qu'une exemple.
 
Merci d'avance :)


Message édité par cybrix le 06-02-2008 à 14:08:16
Reply

Marsh Posté le 12-02-2008 à 18:05:18    

Aucune idée? :(

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed