import java.io.File; import java.io.FileInputStream; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; /** Envoyer un fichier en paquet Datagramme à l'aide des Socket */ public class UDPSend { public static void main(String args[]) { try { // Adresse IP du destinataire InetAddress IP = InetAddress.getByName("127.0.0.1"); // Port du destinataire int port = 655; // Créer un objet fichier avec comme paramètre le fichier à envoyer File fichier = new File("c:/test.txt"); // Déclarer un tableau d'octets qui va contenir les données du datagramme int len = (int) fichier.length(); byte[] message = new byte[len]; FileInputStream in = new FileInputStream(fichier); int bytes_read = 0, n; // Stocker le contenu du fichier dans le tableau do { n = in.read(message, bytes_read, len - bytes_read); bytes_read += n; } while ((bytes_read < len) && (n != -1)); // Initialiser un paquet datagramme avec ses paramètres DatagramPacket paquet = new DatagramPacket(message, message.length, IP, port); // Créer un Socket datagramme DatagramSocket dsocket = new DatagramSocket(); // Envoyer le fichier en paquet et fermer le socket dsocket.send(paquet); dsocket.close(); } catch (Exception ex) { System.err.println(ex.getMessage()); } } }