Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2843 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Envoi d'un objet par sockets multicast

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Envoi d'un objet par sockets multicast

n°1581291
Yakurena
Posté le 01-07-2007 à 21:18:39  profilanswer
 

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 :
  1. String msg = "Hello";
  2. InetAddress group = InetAddress.getByName("228.5.6.7" );
  3. MulticastSocket s = new MulticastSocket(6789);
  4. s.joinGroup(group);
  5. DatagramPacket hi = new DatagramPacket(msg.getBytes(), msg.length(),
  6.                              group, 6789);
  7. 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 :
  1. Socket serveur = new Socket(adresse, port);
  2. OutputStream sortie = serveur.getOutputStream();
  3. ObjectOutputStream oos = new ObjectOutputStream(sortie);   
  4. oos.writeObject(objet);
  5. 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.

mood
Publicité
Posté le 01-07-2007 à 21:18:39  profilanswer
 

n°1581356
Taz
bisounours-codeur
Posté le 02-07-2007 à 09:25:02  profilanswer
 

les stream en UDP ça promet ...
 
ByteArrayOutputStream

n°1589093
wapcamer
Posté le 20-07-2007 à 01:14:46  profilanswer
 

J'ai eu peur quand j'ai lu socket et multicast. Je me suis dit que j'avais vraiment du louper un truc important.
Heureusement j'ai finalement lu Datagram....
 
Bon, Yakurena, si tu veux envoyer des objets Java sur le réseau, je te conseille des sockets TCP (unicast) et pas des Datagram.
Ensuite, tu devrais regarder du côté de la serialisation pour transformer ton objet en tableau de byte.
 
Taz<< c'est ironique ?? pq les streams multimedia se font généralement en UDP, c'est plus souple pr le temps réel. Evidemment le streaming sur HTTP tient davantage compte de la possibilité de transmettre sur tout l'internet.

n°1589132
Taz
bisounours-codeur
Posté le 20-07-2007 à 09:25:39  profilanswer
 

wapcamer a écrit :

Taz<< c'est ironique ?? pq les streams multimedia se font généralement en UDP, c'est plus souple pr le temps réel. Evidemment le streaming sur HTTP tient davantage compte de la possibilité de transmettre sur tout l'internet.


non c'est pas ironique. on parle niveau 4 là, après si tu veux faire du 7 et donner le sens que tu veux à ton bouzin ça te regarde. L'UDP c'est du non connecté, pas de flux.

n°1589422
wapcamer
Posté le 20-07-2007 à 15:20:42  profilanswer
 

Non, Toi tu parles niveau 4.
Maintenant je n'ai jamais lu ou entendu que la notion de flux était reservé au niveau 4.  
Je ne vois pas non plus le rapport entre le mode connecté et la notion de flux.
Effetivement si j'ai envie d'appeler flux, un envoi continu de données, qu'elles soient applicatives ou autres, je le fais et je ne suis pas le seul.
 
Maintenant je suis d'accord, que dans le cas de Yak, il faut du TCP, pas pour faire ce que tu appelles du flux, mais pour garantir le contrôle d'erreur durant le transfert de données. Et là je crains que le multicast ne soit pas possible.

n°1589426
Taz
bisounours-codeur
Posté le 20-07-2007 à 15:23:01  profilanswer
 

wapcamer a écrit :

Non, Toi tu parles niveau 4.
Maintenant je n'ai jamais lu ou entendu que la notion de flux était reservé au niveau 4.  
Je ne vois pas non plus le rapport entre le mode connecté et la notion de flux.


Mais bordel, on cause de socket toussa, t'as perdu c'est tout

n°1589446
wapcamer
Posté le 20-07-2007 à 15:36:55  profilanswer
 

Purée, j'ai même pas le temps d'éditer mon message...
 
J'ai perdu quoi? à part mon temps à discutailler avec toi sur le pb d'un autre???
Toi tu parles de socket TCP (donc point à point), et lui de multicast.
 
En plus, si tu prenais le temps de lire son pb, tu verrais qu'il parle de MulticastSocket.  
 
Au lieu de balancer des "t'as perdu", explique moi en quoi j'ai tort (si tu y arrives  :lol: )
 
Et éventuellement partage tes lumières pour l'aider à résoudre son pb.
 
 :hello:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Envoi d'un objet par sockets multicast

 

Sujets relatifs
pbl javascript comment nommer un chemin d'objet par une variableenvoi de mails automatiques
[RESOLU] Construire le nom d'un objet (VBA)Cryptographp, envoi mail...j'y arrive pas
envoi "non automatique" d'un doc excel email VIA lotus[javascript] problème getElementById sur un objet <A>
[VB] champ possible pour un objet Outlook.ContactItemVBA Access porbleme méthode objet
[VBA] Suppression d'un objet.Questions de "base" ambigues sur la programmation objet
Plus de sujets relatifs à : Envoi d'un objet par sockets multicast


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR