Envoie d'un datagramme
Comme il n'y a pas de connexion pour UDP, la notion de client et de serveur est un peu plus vague. La réception n'ayant pas d'accusé de réception, il ne sera pas possible d'utiliser un buffer comme en TCP. Plutôt, on pourra recevoir une certaine quantité d'octets et la traiter au fur et à mesure.
Pour recevoir des datagrammes UDP, on débute par choisir l'adresse IP et le port désirés pour la connexion :
Par la suite, on pourra tenter d'ouvrir un socket UDP au port désiré et envoyer un datagramme. L'utilisation d'un block try
intégré (ligne 1) rend le code plus facile à comprendre :
try (DatagramSocket datagramSocket = new DatagramSocket()) {
// Préparer le message
String message = "Hello UDP!";
DatagramPacket datagramPacket = new DatagramPacket(message.getBytes(), message.length(), inetAddress, port);
// Envoyer le datagramme
datagramSocket.send(datagramPacket);
}
Contrairement aux sockets TCP, on devra ici spécifier la taille du message à envoyer ainsi que la quantité d'octets. Nous avons donc la possibilité de faire une gestion différente de l'information.