Bonjour,
Je developpe actuellement une application dans laquelle j'utilise la communication réseau par sockets, avec le principe du multicast. Je pense avoir compris ce principe, et j'arrive à l'utiliser pour envoyer un message (chaine de caractères), avec le code suivant :
Code :
- String msg = "Hello";
- InetAddress group = InetAddress.getByName("228.5.6.7" );
- MulticastSocket s = new MulticastSocket(6789);
- s.joinGroup(group);
- DatagramPacket hi = new DatagramPacket(msg.getBytes(), msg.length(),
- group, 6789);
- s.send(hi);
|
Le problème qui se pose ici est que j'aurais besoin d'envoyer par la socket non pas une chaîne de caractères, mais un objet Java. Or je n'ai trouvé aucune méthode ou constructeur permettant d'encapsuler un objet dans le DatagramSocket (tous les constructeurs ne supportent apparemment qu'un tableau d'octets). J'ai vu que cela est possible par des simples sockets client-serveur, par un code ressemblant à :
Code :
- Socket serveur = new Socket(adresse, port);
- OutputStream sortie = serveur.getOutputStream();
- ObjectOutputStream oos = new ObjectOutputStream(sortie);
- oos.writeObject(objet);
- oos.flush();
|
Mais je n'y ai pas trouvé d'équivalent dans le cas des sockets multicast. Quelqu'un connaîtrait-il une possibilité pour faire véhiculer des objets par des sockets multicast ?
Merci d'avance pour votre aide.