Le serveur récupérera la chaîne à l'aide un pointeur. Or pour récupérer la chaîne, il faudra faire un PeekS(). Or PeekS s'arrête au premier caractère d'ascii 0...
Heis Spiter, webmaster du site http://www.heisspiter.net
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL
'Resultat' contient le nombre d'octets effictivements lus par la fonction. Si 'Resultat' est égal à 'Longueur', alors il reste des données en attente à lire.
Dans l'application qui m'interresse, l'échange entre un client et un serveur est parfaitement codifié.
Malheureuseement le serveur ne comprend la fin des messages que par la reception d'un \0
cederavic a écrit :Je suppose que tu utilise PeekS pour récuperer la chaine, essay en faisant PeekS(*Pointeur +1)
Pas sur que ça marche, et que ce soit correcte..
T'as méthode permet de récupérer tous les caractères sauf le premier, non ?
Heis Spiter, webmaster du site http://www.heisspiter.net
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL
En tout cas ce n'est pas avec une chaîne de caractère que tu pourras faire ca... La chaîne s'arrête au premier '\0' qu'elle rencontre (pas comme en PHP par exemple)
En PB ce sont des "null-terminated strings", du coup, si tu veux lire une série de caractères finie par un zéro, voilà un petit exemple :
pas de bug, c'est vraiment l'interprétation PB des "null-terminated strings" qui fait que tu n'auras jamais le caractère \0 dans une chaîne...
Tu peux par contre envoyer une zone mémoire qui contient un octet à zéro sans aucun problème... mais ce n'est pas avec des fonctions de chaîne que tu le récupèreras...