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 :

Choisir un port automatiquement


Sujet :

Entrée/Sortie Java

  1. #1
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 125
    Points : 44
    Points
    44
    Par défaut Choisir un port automatiquement
    Salut
    Dans mon programme je doit initialisé mon port si il est occupé par une autre application je doit le changer ce qu'est n'est pas supportable est ce qu'il y a une méthode pour choisir automatiquement un port libre ?


    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
    32
    33
    34
    35
    package gg;
    import java.net.*;
    public class Client {
    	final static int port = 9004;
    	final static int taille = 1024;
    	static byte buffer[] = new byte[taille];
    	static void client(String S1,String S2)
    	{
    		
    		try {
    			InetAddress serveur = InetAddress.getByName(S1);
    			int length = S2.length();
    			byte buffer[] = S2.getBytes();
    			DatagramSocket socket = new DatagramSocket();
    			DatagramPacket donneesEmises = new DatagramPacket(buffer, length, serveur, port);
    			DatagramPacket donneesRecues = new DatagramPacket(new byte[taille], taille);
    			socket.setSoTimeout(30000);
    			socket.send(donneesEmises);
    			socket.receive(donneesRecues);
    			System.out.println("Message : " + new String(donneesRecues.getData(),
    			0, donneesRecues.getLength()));
    			System.out.println("de : " + donneesRecues.getAddress() + ":" +
    			donneesRecues.getPort());
    			} catch (SocketTimeoutException ste) {
    			System.out.println("Le delai pour la reponse a expire");
    			} catch (Exception e) {
    			e.printStackTrace();
    			}
    	}
    		public static void main(String argv[]) throws Exception {
    			client(argv[0],argv[1]);
    		
    		}
    		
    	}

    Merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2005
    Messages : 97
    Points : 78
    Points
    78
    Par défaut
    bonjour,

    Lorsque tu crées une socket un port local libre est affecté:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DatagramSocket socket = new DatagramSocket();
    Tu peux voir le port utilisé avec la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    socket.getLocalPort()
    Par contre le port utilisé ici c'est le port distant (port sur lequel le serveur écoute):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DatagramPacket donneesEmises = new DatagramPacket(buffer, length, serveur,port);

    @+

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    Votre programme serveur il reste lancé vous devez l'arrêter avant de la lancé à nouveau

Discussions similaires

  1. choisir le port du client.
    Par giova_fr dans le forum Windows Communication Foundation
    Réponses: 3
    Dernier message: 14/06/2011, 15h13
  2. choisir le mot automatiquement
    Par thechef dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 14/03/2009, 00h14
  3. Comment choisir un port ?
    Par Madmac dans le forum Autres langages pour le Web
    Réponses: 6
    Dernier message: 07/06/2006, 01h17
  4. [C#] Comment choisir le port du WebService ?
    Par Wakaboo dans le forum Services Web
    Réponses: 11
    Dernier message: 23/02/2006, 13h42
  5. [socket] port automatique
    Par hogan dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 18/07/2005, 22h22

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