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

Discussion :

Serveur UDP : comment afficher l'ip et le port du client


Sujet :

Plateformes (Java EE, Jakarta EE, Spring) et Serveurs

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    mai 2016
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

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

    Informations forums :
    Inscription : mai 2016
    Messages : 14
    Points : 14
    Points
    14
    Par défaut Serveur UDP : comment afficher l'ip et le port du client
    Bonjour,
    Je souhaite réaliser une communication client serveur en UDP. le client lit une chaine au clavier et l'envoie au serveur sur le port 9876, le serveur attend un message du client et l'affiche. j'ai fait le code suivant pour le client et le serveur:

    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
    29
    30
    31
    import java.io.*;
    import java.net.*;
     
    public class ServeurUDP {
      public static void main ( String args[] ) throws Exception {
         DatagramSocket serverSocket = new Datagramsocket (9876);
         byte[] receiveData = new byte[1024];
         while (true) {
            DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
            serverSocket.receive(receivePacket.getData());
            String sentence = new String(receivePacket.getData());
            System.out.println(sentence);
         }
      }
    }
     
    import java.net.*;
    import java.util.Scanner;
     
    public class ClientUDP{
      public static void main (String args []) throws Exception {
        Scanner inFromUser = new Scanner (System.in);
        DatagramSocket clientSocket = new DatagramSocket();
        InetAddress IPAddress = InetAddressgetByName("localhost");
        byte[] sendData = new byte [1024];
        String sentence = inFromUser.nextLine();
        sendData = sentence.getByte();
        DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 9876);
        clientSocket.send(sendPacket);
      }
    }
    QUESTION:
    je souhaite modifier le code du serveur pour qu'il affiche aussi l'adresse et le port de la source du message. Comment faire ?
    je souhaite aussi modifier le code du serveur pour qu'il renvoie un message au client, et enfin comment gérer les exceptions que peuvent générer les constructeurs DatagramPacket et DatagramSocket et la méthode gerByName?

    Merci d'avance pour votre aide.

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

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

    Informations forums :
    Inscription : avril 2007
    Messages : 25 461
    Points : 48 733
    Points
    48 733
    Par défaut
    Citation Envoyé par Cboudj72 Voir le message
    j'ai fait le code suivant pour le client et le serveur:
    C'est serverSocket.receive(receivePacket); et pas serverSocket.receive(receivePacket.getData());

    je souhaite modifier le code du serveur pour qu'il affiche aussi l'adresse et le port de la source du message. Comment faire ?
    Toutes les méthodes dont tu as besoin sont simplement sur ton objet DatagramPacket: l'adresse et le port

    https://docs.oracle.com/javase/8/doc...l#getAddress--
    je souhaite aussi modifier le code du serveur pour qu'il renvoie un message au client
    Ben tu réutilise ton packet, tu met les donnée dedans et tu envoie avec la méthode send qui doit se trouver sur la socket
    enfin comment gérer les exceptions que peuvent générer les constructeurs DatagramPacket et DatagramSocket et la méthode gerByName?
    Comme toutes les exceptions, avec des try/catch

Discussions similaires

  1. Client serveur UDP en JAVA
    Par caro_caro dans le forum IO
    Réponses: 4
    Dernier message: 29/09/2008, 22h16
  2. Client Java / Serveur C
    Par innosang dans le forum IO
    Réponses: 14
    Dernier message: 04/06/2007, 11h32
  3. [Projet Java] Serveur de stockage ou Proxy-cache Web
    Par Yann39 dans le forum Général Java
    Réponses: 3
    Dernier message: 15/05/2007, 12h33
  4. Réponses: 2
    Dernier message: 29/09/2006, 14h59
  5. serveur udp connecte a une BD
    Par bucheman dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 31/01/2005, 19h11

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