DatagramPacket et DatagramSocket - Java - Programmation
Marsh Posté le 01-02-2003 à 15:35:16
Il semble que ce n'est pas une bug, mais comme le veut la tradition une feature. Le forum de JavaSoft a déjà reçu une question similaire. Il apparait que le code exact devrait être :
Code :
|
C'est ce que j'avais fait, de toutes façons. Problème résolu donc, mais la question reste entière, d'autant que le tutorial Java est erroné.
Marsh Posté le 01-02-2003 à 11:15:30
Plantons le décor :
Le tutorial Java, le code source du client, le code source du serveur #1 et #2.
Le programme est une applet qui se connecte à un serveur local et récupère de ce serveur une chaîne de caractère.
J'ai un problème avec ce programme. Plus particulièrement la méthode doIt().
Bon pour l'histoire, le serveur renvoit la date actuelle sous forme d'une chaine, introduite dans un buffer de grande taille (256).
La variable packet représente le datagramme envoyé, puis reçu. C'est dans ce deuxième cas que je me place. En effet, lorsque je fais :
J'obtiens : 28. C'est bon.
En revanche lorsque je fais :
Je m'attends à obtenir une chaine faisant getLength() caractères. Mais ce n'est pas le cas. J'obtiens 256, soit la taille du buffer contenu dans packet. Et naturellement, si je fais :
ça fait n'importe quoi : ma date est au début, puis il y a complétion avec des caractères en forme de rectangle.
Que pensez-vous de cela ? D'abord, qu'est-ce que ça donne chez vous ? Est-ce un bug ? Est-ce un problème d'encodage ?
Message édité par Cherrytree le 01-02-2003 à 11:19:56