Bonjour.
Je me suis tenté à créer un petit client-serveur UDP, juste pour l'avoir fait au moins une fois par moi-meme, et ma foi ça ne marche pas trop mal.
Le serveur envoie des paquets qui contiennent les chaines "paquet 1", "paquet 2", etc...
et le client affiche ce qu'il reçoit. (et il affiche bien "paquet 1", "paquet 2",...)
comme le client et le serveur tournent sur la même machine, ip=127.0.0.1. Donc je ne peux pas sniffer avec ethereal.
Et il y a une chose que je ne comprend pas:
le server utilise sendto(...). Dans sendto, j'indique le SOCKADDR_IN de l'adresse de destination, qui contient le port UDP. (j'ai choisit au bol 5555). Mais quel est le port de source? Est-ce que je peux le choisir, ou est-ce que c'est windows qui me l'impose?
Dans le Client, j'utilisais recv(...) et ça marchait bien, mais j'ai cru comprendre que pour une connection UDP, recvfrom(...) etait plus approprié. Or pour que ça marche, je dois faire un recvfrom avec un SOCKADDR_IN qui contient 127.0.0.1:5555. Mais ce 5555, c'est le port de destination, pas de source? Selon msdn, ce paramètre (de la fct recvfrom) est l'adresse de la source...
Je m'y perds (comme vous le constatez surement)
Pouvez-vous m'aider?
Merci
Partager