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 :

communication entre deux machine


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2010
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 57
    Points : 32
    Points
    32
    Par défaut communication entre deux machine
    bonjour à tous le monde voici un sujet que doit réaliser mais je suis perdu

    écrite un programme java permettant une communication simple entre deux machines en utilisant les sockets
    le scénario de la communication est
    a la machine 1 attend un message
    la machine 2 envoie un message
    la machine 2 attend un message
    la machine 2 attend une réponce
    la machine 1 recoit le message et envoie une réponse (exemple bien recu)
    le machine 2 recoit la réponce
    f tout le processus de communication s'arrête
    pouriez vous me guider j'ai pas trouver des exemples
    merci

  2. #2
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut
    Bonjour,

    Je te suggère de jeter un oeil au tuto de sun sur les sockets.
    Tu devrais pouvoir adapter ton cas à cet exemple.

  3. #3
    En attente de confirmation mail
    Inscrit en
    Octobre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 127
    Points : 112
    Points
    112
    Par défaut
    Salut
    voici un exemple de communication entre client et serveur .c'est un peu ce que vous voulez.
    code 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
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
     
     
    import java.io.*;
     
    import java.net.*;
    import java.util.Date;
     
    public class ServeurEcho extends Object {
     
    	public static void main(String args[]) {
     
    		int port = 15396;
     
    		ServerSocket socketEcoute;
     
    		Socket socketService;
     
    		InputStream entreeSocket;
     
    		OutputStream sortieSocket;
    		OutputStreamWriter sortie;
     
    		try {
            //initialisation d'une socket serveur sur le port voulu
    			socketEcoute = new ServerSocket(port);
     
    			while (true) {
     
    				socketService = socketEcoute.accept();
     
    				System.out.println("Nouvelle connexion : " + socketService);
     
    				entreeSocket = socketService.getInputStream();
     
    				sortieSocket = socketService.getOutputStream();
     
    				sortie = new OutputStreamWriter(socketService.getOutputStream());
    				Date date = new Date();
    				InetAddress adressServer = socketService.getInetAddress();
    				sortie.write("Vous etes sur  la Machine \n" + adressServer
    						+ "\n" + "le port de connexion est \n :" + port
    						+ "\n La Date du jour est : \n" + date.toString()
    						+ " \n");
    				sortie.write("fin reponse merci \n");
     
    				sortie.flush();
     
    				try {
     
    					int b = 0;
     
    					while (b != -1) {
     
    						b = entreeSocket.read();
     
    						sortieSocket.write(b);
     
    					}
     
    					System.out.println("Fin de connexion");
     
    				}
     
    				catch (IOException ex)
     
    				{
     
    					System.out.println("Fin de connexion : " + ex);
     
    					ex.printStackTrace();
     
    				}
    				socketService.close();
    			}
     
    		}
     
    		catch (Exception ex)
     
    		{
    			System.err.println("Une erreur est survenue : " + ex);
     
    			ex.printStackTrace();
    		}
    	}
    }
    code client

    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
    62
    63
    64
    65
     
     
     
    import java.io.*;
     
    import java.net.*;
     
    import javax.swing.JOptionPane;
     
    public class ClientEcho extends Object {
     
    	public static void main(String args[]) {
     
    		int port = 1024;
     
    		String reponse;
     
    		Socket leSocket;
     
    		PrintStream fluxSortieSocket;
     
    		BufferedReader fluxEntreeSocket;
     
    		try {
     
    			leSocket = new Socket("localhost", port);
    			System.out.println("Connecté sur : " + leSocket);
    			fluxSortieSocket = new PrintStream(leSocket.getOutputStream());
    			fluxEntreeSocket = new BufferedReader(new
     
    			InputStreamReader(leSocket.getInputStream()));
     
    			fluxSortieSocket.println("  Bonjour le monde!");
     
    			while ((reponse = fluxEntreeSocket.readLine()) != null)
     
    				System.out.println("Reponse du serveur : " + reponse);
     
    			leSocket.close();
     
    		}
     
    		catch (UnknownHostException ex)
     
    		{
     
    			System.err.println("Machine inconnue : " + ex);
     
    			ex.printStackTrace();
     
    		}
     
    		catch (IOException ex)
     
    		{
     
    			System.err.println("Erreur : " + ex);
     
    			ex.printStackTrace();
     
    		}
     
    	}
     
    }

    j'espère que c'est utile pour vous.
    donc c'est à vous de jouer pour adapter le code à tes besoins
    bonne chance

Discussions similaires

  1. [RMI] Problème de communication entre deux machines distantes
    Par georges_jung dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 10/04/2007, 18h03
  2. Communication entre deux Executables ?
    Par QAYS dans le forum Langage
    Réponses: 8
    Dernier message: 11/05/2005, 14h41
  3. communication entre deux executables
    Par semenzato dans le forum MFC
    Réponses: 8
    Dernier message: 13/04/2005, 22h19
  4. Communication entre deux Threads
    Par rvzip64 dans le forum Langage
    Réponses: 13
    Dernier message: 28/01/2005, 09h14
  5. Réponses: 5
    Dernier message: 25/03/2003, 19h43

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