IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Packet UDP reçu environ 20 seconds apres l envoi dans petit Lan


Sujet :

Entrée/Sortie Java

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 2
    Par défaut Packet UDP reçu environ 20 seconds apres l envoi dans petit Lan
    Bonsoir à tous!
    j ai un problem avec les packets UDP ,j explique
    il y a un fichier sd.java et autre rc.java pour la reception
    les deux fichiers sont bien compilés outre j arrive a envoyer un message d'un pc à autre dans même reseau LAN (j ai verifier sur 3 reseaux diffirents )
    ce qui est étonant , le message prends jusqu'a 20s pour arriver a destination je sais pas pourquoi ce retard je vous mets ici le code des deux fichiers:

    fichier d envoi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    import java.io.*;
    import java.net.*;
     
     
    public class sd {
    static final int port = 2057;
     
    public static void main(String args[]) throws Exception {
     
    if (args.length != 2) {
     
    System.out.println("Usage: java UDPSend <hostname> <message>");
    System.exit(0); }
     
     
    InetAddress address = InetAddress.getByName(args[0]);
    byte[] message;
    message = args[1].getBytes();
     
    System.out.println("lent=" + message.length);
    DatagramPacket packet = new DatagramPacket(message, message.length,address, port);
     
    DatagramSocket socket = new DatagramSocket(); socket.send(packet);
     
    socket.close();
     
    }
    }
    fichier de reception :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    import java.io.*;
    import java.net.*;
     
    public class rc {
    static final int port = 2057;
     
    public static void main(String args[]) throws Exception
    { 
    	byte[] buffer = new byte[1024];
    	String s;
     
    DatagramSocket socket = new DatagramSocket(port);
    for( ; ; ) {
     
    DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
    socket.receive(packet);
     
    s = new String(buffer,0,packet.getLength());
     
    System.out.println("UDPReceive: received from "
    + packet.getAddress().getHostName() + ":"
    +packet.getPort() + ": " + s);
     
    }
     }

    plzzzz aidez moi je suis coincé

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Le main de sd s'exécute en combien de temps ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    il faudrait mettre dans ton code quelque chose pour faire la mesure. Si ca tombe tu met 20 secondes à démarrer ton code d'envoi. Y a pas de raison qu'un paket udp mette autant de temps. Ca doit être de l'ordre de la milliseconde. Sinon c'est que le réseau est surchargé, mais dans ce cas là le paquet udp est droppé, pas mis en attente.

  4. #4
    Candidat au Club
    Inscrit en
    Mars 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 2
    Par défaut
    merçi les amis pour vos feedback je viens de trouver la solution qui s'avere trop banale
    lors de l envoi de mon packet udp je recupere des information sur le packet en question + le message envoyer qui est une Stringchaine de caracteres.
    bon quand j'ai supprimer les fonctions suivants du recepteur :

    packet.getAddress().getHostName() + ":"
    +packet.getPort()

    le message parviens à la destination en clin d'oeil sans aucun soucis

    merçi encore pour votre effort mais je voudrais savoir est ce naturel le retard avec ces deux fonction concernat le packet
    packet.getAddress().getHostName()
    et
    packet.getPort() ?!!!!!

    merçi d'avance

  5. #5
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Le "getHostName" fait une requête vers le DNS. C'est lui qui prend beaucoup de temps. L'info du "port" est contenu dans le packet.
    Il peut y avoir beaucoup de raisons à cela, tout dépend de ta config réseau.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    prend juste l'ip et tu sera tranquille, elle aussi est dans le packet

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/12/2007, 10h37
  2. Problème de packet UDP avec les routeurs
    Par Thixomag dans le forum Développement
    Réponses: 16
    Dernier message: 11/11/2007, 20h38
  3. Checksum d'un packet udp
    Par sebastien.mz dans le forum Réseau
    Réponses: 3
    Dernier message: 12/05/2007, 15h00
  4. récupérer la taille d'un packet UDP
    Par beLz dans le forum Réseau
    Réponses: 17
    Dernier message: 07/03/2007, 11h50
  5. Réponses: 16
    Dernier message: 28/11/2005, 19h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo