Bonjour,

Je développe actuellement une application client / serveur en UDP et j'ai quelques question

Je veut envoyer des paquets de se type:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
t_header p = {1, "lasdl", 3}
t_toto s = {p, "coucou", 1, 34}
 
t_header p = {2, "lqwd", 3}
t_titi d = {p, "qwdqd",1,2,3,4}
Donc des paquets de type différent avec un header commun. Suivant le premier byte du header je sait en quoi cast la suite du paquet, jusque la rien de sorcier.

J'utilise donc pour envoyer ces paquet:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sendto(socket, ...., (char*)&d, sizeof(t_titi), ...);
Le problème viens du receive, j'essaye de lire un sizeof(t_header) mais la WSA retourne une erreur 10040.

Ya t'il une solution simple pour connaitre la taille du paquet avant le receive ? Ou tout autre moyen pour recevoir le paquet proprement ? On à bien penser a receive dans un char* à la porc de la taille du plus gros buffer mais c'est sale :p

Merci, si j'ai pas été assez précis n’hésitez pas