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

avec Java Discussion :

UDP DatagramSocket reception packet de taille différente


Sujet :

avec Java

  1. #1
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Points : 143
    Points
    143
    Par défaut UDP DatagramSocket reception packet de taille différente
    Bonjour,

    Je communique avec du hardware en UDP.
    Il y a deux adresses IP définis pour l'information provenant du hard et une adresse IP pour les informations allant du PC au hard.
    J'arrive à envoyer les data mais j'ai du mal à coder la reception. En effet le contenu des sockets est changeant pour la même IP.
    Par exemple
    -il y a des trames régulières indiquant que le hard et présent
    -il y a des trames indiquant le statut envoyées uniquement après changement de configuration

    affichage du snifer :
    Nom : Sans titre.jpg
Affichages : 184
Taille : 28,8 Ko

    il y a donc une socket a 60 bytes et l'autre a 141 bytes.

    Mon problème est comment dimensionner le tableau de bytes constituant le datagramsocket alors que je ne le connais pas ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     .....
    byte[] buffer = new byte[?];
    DatagramPacket dp = new DatagramPacket(buffer, buffer.length);
    .....
    socket.receive(dp);
    System.out.println(dp.getData());
    .........
    Merci de votre aide

    RQ1 : J'utilise un snifer pour visualiser ce qui se passe.
    RQ2 : j'ai lu la discussion de janvier sur ce sujet http://www.developpez.net/forums/d14...reception-udp/

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Tu définis une taille maximum acceptable pour le paquet, et tu crée ton byte[] comme ça. Il n'a pas besoin d'avoir exactement la bonne taille, juste d'être suffisament grand pour accueillir le payload de ton datagramme.

  3. #3
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Points : 143
    Points
    143
    Par défaut
    Bonjour et merci de la réponse.

    Cela me semble étrange qu'il n'y ait pas de solution qui optimise l'espace. Dans mon cas les trames envoyées ont un maximum de 100 bytes. Donc je pense que ça ne posera pas de problème.

    J'apporte une précision sur le sujet : il fallait que j'utilise des MulticastSocket.

    Merci pour l'info.
    Bonne journée.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par philippe13 Voir le message
    Cela me semble étrange qu'il n'y ait pas de solution qui optimise l'espace.
    Ben c'est déjà une solution qui optimise l'espace.
    Un protocole de communication fait ce qu'il fait, donc il a une taille max de paquet, et ça n'a aucun sens de réserver de la mémoire plus petite pour les paquets qui seront plus petits. Il vaut mieux réutiliser toujours la même mémoire. Celle capable de prendre le plus gros paquet, donc.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Points : 143
    Points
    143
    Par défaut
    ok bien reçu.

    RQ : j'ai bien ta signature !

    Bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/05/2007, 19h12
  2. Réponses: 1
    Dernier message: 29/03/2007, 19h17
  3. Alignement d'un texte sur des écrans de taille différent
    Par Kuchiki Byakuya dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 05/02/2007, 19h07
  4. Soustraction de deux images de tailles différentes
    Par biquet dans le forum Images
    Réponses: 3
    Dernier message: 26/01/2007, 16h21
  5. Réponses: 2
    Dernier message: 26/06/2006, 17h28

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