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

Langage Java Discussion :

[client serveur concurrent]Temps


Sujet :

Langage Java

  1. #1
    Zay
    Zay est déconnecté
    Nouveau membre du Club
    Profil pro
    Maître assistant
    Inscrit en
    Décembre 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Maître assistant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 53
    Points : 38
    Points
    38
    Par défaut [client serveur concurrent]Temps
    Bonjour à tous,
    En fait je suis en train de developper une appli client serveur en java...
    Mon probleme est que je veux interroger le serveur(concurrent) chaque
    2 secondes!
    Comment pourrai-je procéder?
    Si quelqu'un peut m'aider j'en serai reconnaissante.
    Merci d'avance

  2. #2
    Zay
    Zay est déconnecté
    Nouveau membre du Club
    Profil pro
    Maître assistant
    Inscrit en
    Décembre 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Maître assistant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 53
    Points : 38
    Points
    38
    Par défaut [client serveur concurrent]Temps
    Re-bonjour
    Ou encore, est ce que je peux me débarasser du polling(interroger le serveur en
    permanence) : c'est le serveur qui envoie le message lui même chaque 2
    secondes (sans qu'on l'interroge)?
    Merci encore un fois

  3. #3
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    je ne connais pas grand chose en client serveur, mais peut etre que ca peut te mettre sur une piste:

    pour faire une action à interval régulier on utilise un Thread :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Thread t =new Thread(){
                public void run(){
                    //action a faire
                    try{
                        sleep(2000);
                    }catch(Exception e){}
                }
            };
     
    t.start();
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  4. #4
    Membre actif Avatar de jibbi
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Points : 205
    Points
    205
    Par défaut
    Je crois que la meilleure facon, et la plus facile, est de créer
    - une class Serveur extends Thread
    - une class Client extends Thread.

    On ajoute un ServerSocket a la classe Serveur qu'on peut considérer comme un point rencontre entre un client-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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    // Exemple de class serveur
    // Faut ajouter les import nécessaires 
    public	class Serveur extends Thread{	 	
     
    		boolean go = true;
    		private int port = 5000;
    		public ServerSocket serverSocket;
     
    	public Serveur(int port){
    		super("serveur");
    		this.port = port;		
    		start();
    	}
     
    	public void close(){		
    		try{		
    		go = false;		
    		if (serverSocket != null){
    			p.rintln("Serveur.close()");		
    			if (serverSocket.isClosed() == false)
    				serverSocket.close();
    			else
    				p.rintln("Serveur.close() already closed");	
    		}		
    		} catch(Exception e){
    			p.rintln("Serveur close() erreur");
    			e.printStackTrace();
    		}	
     
    	}	
     
    	public void run() {			
    		p.rintln("startServer");
    		try{
    		serverSocket = new ServerSocket(port, 100);		
    		p.rintln("serverSocket created");
    		while (go){					
    		    p.rintln("En attente d'une  connexion - port:  " + port + "\n");
    		    Socket s = serverSocket.accept();
                                 new Client(s);   // Faut avoir créer la Class Client :o)
                                 // A partir d'ici les deux machines on le même statut 
                                 // i.e deux class client qui discute entre eux
     
    		}		
     
    		}catch(EOFException eof){
    			p.rintln("ERREUR interruption de la connexion serveur \n");
    		}
    		catch(IOException eio){
    			p.rintln("ERREUR le serveur est peut-être déja en attente \n");
    			go = false;
    			btconnect.setEnabled(true);
    		}
    		catch(Exception e){
    			p.rintln("ERREUR inconnu au lancement du serveur \n");
    			e.printStackTrace();
    		}		
     
     
    	}	
    }
    Bon il se fait tard ... je vous laisse réfléchir à la class Client
    un bon truc pour tester une application client-serveur sur la meme machine on utilise l'adresse IP en boucle local soit 127.0.0.1
    voir les liens suivant:
    http://java.sun.com/j2se/1.5.0/docs/...verSocket.html
    http://java.sun.com/j2se/1.5.0/docs/...et/Socket.html

  5. #5
    Zay
    Zay est déconnecté
    Nouveau membre du Club
    Profil pro
    Maître assistant
    Inscrit en
    Décembre 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Maître assistant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 53
    Points : 38
    Points
    38
    Par défaut [client serveur concurrent]Temps
    Merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/02/2009, 09h01
  2. serveur et client en meme temps?
    Par HSwaidan dans le forum Java ME
    Réponses: 2
    Dernier message: 30/01/2009, 10h21
  3. Réponses: 5
    Dernier message: 21/12/2007, 08h24
  4. Réponses: 1
    Dernier message: 10/09/2006, 13h02
  5. Réponses: 8
    Dernier message: 08/09/2006, 15h32

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