Que fait un client lorsqu'il a des datagrammes UDP à envoyer ?
- Le descripteur de socket
- Un pointeur vers le buffer contenant les données à envoyer
- La longueur des données à envoyer
- Les drapeaux
- L'adresse de destination
- La longueur de l'adresse de destination
Le client doit également préciser l'adresse de destination et le port du serveur auquel il souhaite envoyer les données. Ces informations peuvent être obtenues en résolvant le nom de domaine ou l'adresse IP du serveur à l'aide des appels système `gethostbyname()` ou `gethostbyaddr()`.
Une fois que le client a envoyé le datagramme, il peut attendre une réponse du serveur. Le client peut le faire en utilisant l'appel système `recvfrom()`, qui bloquera jusqu'à ce qu'un datagramme soit reçu. L'appel système `recvfrom()` nécessite les arguments suivants :
- Le descripteur de socket
- Un pointeur vers le tampon dans lequel stocker les données reçues
- La longueur maximale des données reçues
- Les drapeaux
- Un pointeur vers l'adresse source
- Un pointeur vers la longueur de l'adresse source
Lorsque le client reçoit un datagramme, il peut alors traiter les données et renvoyer une réponse au serveur si nécessaire.