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

  FORUM HardWare.fr
  Programmation
  Java

  Communications udp en java

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Communications udp en java

n°394547
pifou_234
Posté le 15-05-2003 à 00:46:13  profilanswer
 

salut a tous,
 
j'ai un ptit prob avec les communications udp en java.  
lorsqu'on envoie un message UDP par socket à  une machine (port + ip) et  qu'il n'y a pas de socket ki attend sur la machine distante, y'a pas d'erreur ki est levée ? en effet je sais pas comment détecter le fait  que la machine ne répond pas en face.
s'il n'y a pas d'erreur  qui est levée.. mettre un timout d'une certaine durée est-ce une bonne solution ?

mood
Publicité
Posté le 15-05-2003 à 00:46:13  profilanswer
 

n°394599
darklord
You're welcome
Posté le 15-05-2003 à 08:21:07  profilanswer
 

pifou_234 a écrit :

salut a tous,
 
j'ai un ptit prob avec les communications udp en java.  
lorsqu'on envoie un message UDP par socket à  une machine (port + ip) et  qu'il n'y a pas de socket ki attend sur la machine distante, y'a pas d'erreur ki est levée ? en effet je sais pas comment détecter le fait  que la machine ne répond pas en face.
s'il n'y a pas d'erreur  qui est levée.. mettre un timout d'une certaine durée est-ce une bonne solution ?


 
c'est par nature du protocole tout simplement. UDP est un protocole sans acquis, utilisé nottaement pour faire du streaming de media (audio/video) là ou un perte relativement faible est acceptable, comparé aux perfs.
 
Donc envoyer un paquet UDP c'est un peu comme envoyer une bouteille à la mer, tu ne sais pas si ca va arriver ou non.
 
Mettre un timeout ne te servira strictement à rien, sauf si tu attends une réponse en retour du serveur.


---------------
Just because you feel good does not make you right
n°394608
masked_ven​gefull
Posté le 15-05-2003 à 08:54:47  profilanswer
 

A mon avis tu doit avoir un protocol supérieur (de plus haut niveau) que udp et c la que tu doit faire du timeout, mais peu être que tcp est plus adapté dans ton cas... si la non-réactivité est un paramêtre à considérer c tcp qui semble adapté... (fait du rmi alors... ;-) )

n°394642
senternal
Posté le 15-05-2003 à 09:53:11  profilanswer
 

masked_vengefull a écrit :

A mon avis tu doit avoir un protocol supérieur (de plus haut niveau) que udp et c la que tu doit faire du timeout, mais peu être que tcp est plus adapté dans ton cas... si la non-réactivité est un paramêtre à considérer c tcp qui semble adapté... (fait du rmi alors... ;-) )


 
RMI ?? Euh, une simple socket ne suffit plus maintenant ?


Message édité par senternal le 15-05-2003 à 09:53:28
n°395500
pifou_234
Posté le 15-05-2003 à 16:32:54  profilanswer
 

en fait je suis obligé d'utilisé UDP dans  mon programme...  
l'idée c'est que j'ai un processus A sur une  machine qui donne l'adresse et l'îp des serveurs qui se sont inscrits aux clients qui le lui demande...
je dois considérer le fait qu'un serveur pour s'inscrire (donc qu'un client ait son adresse par A)  mais que le serveur puissse tomber en panne entre deux.. et donc si le client n'a jamais de réponse du serveur... ben y va redemander à A une autre adresse de serveur pour le service demandé...
j'ai l'impression qu'en utilisant que UDP je dois utiliser le time out.. ouala..

n°395512
veryfree
Posté le 15-05-2003 à 16:36:46  profilanswer
 

pifou_234 a écrit :

en fait je suis obligé d'utilisé UDP dans  mon programme...  
l'idée c'est que j'ai un processus A sur une  machine qui donne l'adresse et l'îp des serveurs qui se sont inscrits aux clients qui le lui demande...
je dois considérer le fait qu'un serveur pour s'inscrire (donc qu'un client ait son adresse par A)  mais que le serveur puissse tomber en panne entre deux.. et donc si le client n'a jamais de réponse du serveur... ben y va redemander à A une autre adresse de serveur pour le service demandé...
j'ai l'impression qu'en utilisant que UDP je dois utiliser le time out.. ouala..
 


 
les sockets standard (tcp j entend) peuvent faire l'affaire  dans ton cas , jvois pas ou est le probleme

n°395812
pifou_234
Posté le 15-05-2003 à 18:50:04  profilanswer
 

j'ai trouvé la réponse à mon prob..
les socket possède une méthode qui s'appelle setSoTimeout()
on fixe un temps en milliseconde.
si rien n'arrive une exception est levée.
comme ce j'ai pas un receive qui attend un temps infini pour rien


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

  Communications udp en java

 

Sujets relatifs
Compilateur + Interface JAVA en freeware[java] Methode et champs static
[Méthode développement] Java/Jsp/Struts[Java-Impression] Imprimer une JInternalFrame
[java_debutant]Inserer une image dans une fenetre?[java] éxecuter un programme externe
Maitriser le terminal en javaUn logiciel de visio-conférence en java ?
[java][applet] pb avec codebase (NoClassDefFoundError)Ports de communications et JAVA...
Plus de sujets relatifs à : Communications udp en java


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