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 :

UDP et DatagramPacket


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 34
    Par défaut UDP et DatagramPacket
    Bonjour

    Je suis un serveur qui écoute un réseau UDP. Déjà j'aimerais savoir si c'est nécessaire d'utiliser les threads. Ne puis je pas recevoir les paquets les uns après les autres?

    Et aussi j'ai un problème lorsque je reçois le datagramPacket. C'est un tableau de byte mais je n'arrive pas à récupérer mes données. Si vous avez une solution pour moi. Merci.

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 75
    Par défaut
    Ca dépend de ce que fais ton server et ton programme.
    Le but, c'est de ne pas perdre de paquets.

    Si c'est toujours toi qui commence par envoyer des paquets et que les clients répondent avec un nombre de paquets fixe, tu peux appeler socket.send() puis socket.receive() autant de fois qu'il faut.
    Et donc pas besoin de thread.

    Si ton serveur écoute sur un port et répond aux clients, tu dois faire une boucle infinie contenant socket.receive(). Le problème c'est que cette boucle va bloquer ton programme, et si t'as une interface graphique, tu risques de ne plus pouvoir récupérer les actions de l'utilisateur. Donc là t'as besoin d'un thread.

    Je comprend pas pkoi t'arrives pas à récupérer tes données.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    byte[] buf = new byte[DATAGRAM_SIZE];
    DatagramPacket packet = new DatagramPacket(buf, buf.length);
    for (int i=0;i<buf.size();++i)
    {
         System.out.println(buf[i]);
    }

Discussions similaires

  1. Ping sous protocole TCP (et non UDP)
    Par ovdz dans le forum Développement
    Réponses: 2
    Dernier message: 19/06/2003, 14h10
  2. Connexion UDP
    Par theflamme dans le forum Développement
    Réponses: 2
    Dernier message: 06/01/2003, 14h55
  3. [UDP][Socket] perte de paquets et arret d'ecoute sur port
    Par Guismo1979 dans le forum Développement
    Réponses: 6
    Dernier message: 02/01/2003, 12h13
  4. Programmation UDP
    Par stefan dans le forum Développement
    Réponses: 6
    Dernier message: 14/10/2002, 06h41
  5. Différence entre TCP, UDP, ICMP
    Par GliGli dans le forum Développement
    Réponses: 1
    Dernier message: 13/09/2002, 08h25

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