IdUDPClient et reception de donné !

Nutspower Messages postés 15 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 30 juin 2005 - 30 juin 2005 à 14:13
Nutspower Messages postés 15 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 30 juin 2005 - 30 juin 2005 à 22:21
Salut





Voila, mon application doit communique avec un autre server grace a
IdUDPClient, mais j'ai l'impression, que je n'arrive pas a recevoir
toute les donnés envoye par le server ! Je procede comme sa :






Code:, ,
,
,
----
IdUDPClient.Host := 'IP';

IdUDPClient.Port := PORT;

Memo1.text := '';

IdUDPClient.Active := true;

IdUDPClient.Send(data);

TRY

Memo1.text := Memo1.text + IdUDPClient.ReceiveString();

Application.ProcessMessages;

EXCEPT

IdUDPClient.Active := False;

Exit;

END;

IdUDPClient.Active := False;




Donc pour verifier je fait :


Code:

showmessage(IdUDPClient.ReceiveString());


et je trouve :









Grace a Ethereal en sniffant, je voit que j'aurait du trouver :



ÿÿÿÿD¯¯aYx |
KN¯¯¯¯¯|¦&E¯ERT¯¯¯¯¯?¯aD¯@007¯¯¯¯¯ñ®-B¯Clima
Cool¯¯¯¯¯1ó±E¯daCsmingzibuyaonamechangxiexie!¯¯¯¯¯ðNZE¯Www.Tlok.Cn¯¯¯¯¯¯Y±E¯sfsdfsd¯¯¯¯¯^¯ýC¯L.8¯¯¯¯¯¨¯¯E¯xiao.bai¯¯¯¯¯ÐÿÚD¯123¯¯¯¯¯ÀiÓD¯0778-00¯¯¯¯¯¿ÖBD¯-
-¯¯¯¯¯èªËD¯Mecery.¯¯¯¯¯ رD¯yn¯¯¯¯¯
¢žD¯ssadadadafethtrjsj¯¯¯¯¯-E¯Rock.Man¯¯¯¯¯^5?C¯PpMm
xiaobai¯¯¯¯¯¾¯¶C

Donc j'aimerai savoir comment faire pour tout afficher, c'est un probleme de caractere ?

Voila merci beaucoup pour votre aide et si vous avez pas tout compris dite le moi ^^

4 réponses

cedricbi Messages postés 185 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 21 mars 2011
30 juin 2005 à 17:22
Salut,
Je pense en effet que c'est un problème de caractère. Donc il serait judicieux d'utiliser des Codes pour les caractères spéciaux comme pour le HTML !



<HR>

Le plus dur dans un programme c'est de savoir pourquoi il marche !
0
Nutspower Messages postés 15 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 30 juin 2005
30 juin 2005 à 19:42
Merci pour la reponse :)

donc je fait comment ? je l'affiche de quoi "IdUDPClient.ReceiveString()" ? pasque je voit pas trop comment faire la !
0
cedricbi Messages postés 185 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 21 mars 2011
30 juin 2005 à 20:04
Je crois qu'il existe dans l'unité StrUtils une fonction ReplaceString ou ReplaceText ou quelque choqe du genre (je l'ai déjà vu mais je n'ai pas une version de Delphi assez récente pour avoir cette fonction) alors il suffit, avant d'envoyer, de faire :
Texte := ReplaceString(Texte, CaractereARemplacer, CaractereCorrect);
Ensuite tu envoie Texte

et après avoir recu tu fais
Texte := ReplaceString(Texte, CaractereCorrect, CaractereARemplacer);



<HR>

Le plus dur dans un programme c'est de savoir pourquoi il marche !
0
Nutspower Messages postés 15 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 30 juin 2005
30 juin 2005 à 22:21
bon alors j'ai tester



recu := IdUDPClient.ReceiveString();

recu := AnsiReplaceText(recu,chr(175),'X');

showmessage(recu);



Sa ne marche toujours pas, meme en essayant d'autre caractere ....

A priori, des le premier caractere '¯' ou bien chr(175) en decimal, sa
n'affiche plus rien, et ce pareil pour toute les requete formulé !



Je suis desesperer je sais plus quoi faire :( Si qq a une idee je veut bien :D



merci beaucoup ^^
0
Rejoignez-nous