Messagerie en mode connecté en Java

Je recherche des docs ou même la solution à mon problème: créer un serveursocket et des clients socket pour faire une messagerie instantanée sous JAVA...
Merci de m'aider au plus vite car c'est pour mes cours !

Merci d'avance
Anthony

2 réponses

  1. Salut,
    Ah ouais ! Ca c'est vachement marrant à faire. J'me souviens avoir fait ca en C. En java, c'est encore plus facile, les fonctions sont _presque_ toutes deja definies.
    Tout ce dont tu as besoin se trouve ici : http://java.sun.com/j2se/1.4.1/docs/api/java/net/Socket.html
    Mais je te conseille vivement de comprendre le fonctionnement des sockets avec le tuto de CCM : http://www.commentcamarche.com/sockets/sockintro.php3
    Avec ca, tu as tout les élements qu'il te faut.
    A+

    Kalamit,
    Je ponce donc j'essuie
    1. /*
      * To change this template, choose Tools | Templates
      * and open the template in the editor.
      */

      package modeconnecteserveur;
      import modeconnecteserveur.Traitement;
      import java.io.*;
      import java.net.*;

      /**
      *
      * @author brahim
      */
      public class serveurconnecte extends Thread {
      ServerSocket reception;
      Socket envoie;
      static final int port=10000;
      public serveurconnecte(){
      try{
      reception=new ServerSocket(port);
      envoie=new Socket();
      }
      catch(IOException e){
      System.exit(1);}
      this.start();
      }
      @Override
      public void run (){
      Socket sock ;

      Traitement t;
      try{
      while(true){
      // sortie=new PrintStream(sock.getOutputStream());
      sock=reception.accept();
      t=new Traitement(sock);
      //t1=new Traitement(sortie);
      }
      }
      catch(IOException e){}
      }
      }

      /*
      * To change this template, choose Tools | Templates
      * and open the template in the editor.
      */

      package modeconnecteserveur;

      import java.io.BufferedReader;
      import java.io.*;
      import java.net.InetAddress;
      import java.net.Socket;

      /**
      *
      * @author brahim
      */
      public class Traitement extends Thread{
      Socket sock;
      BufferedReader entree;
      PrintStream sortie=null;

      public Traitement(Socket socket){
      sock=socket;
      try{
      entree=new BufferedReader(new InputStreamReader(sock.getInputStream()));

      // sortie=new PrintStream(sock.getOutputStream());
      // }
      }
      catch(IOException e){}
      this.start();
      }
      public void run(){
      String text;
      try{
      text=entree.readLine();
      System.out.println(text);
      sock.close();
      }
      catch(IOException e){}
      }
      }

      /*
      * To change this template, choose Tools | Templates
      * and open the template in the editor.
      */

      package modeconnete;
      import java.net.*;
      import java.io.*;

      /**
      *
      * @author brahim
      */
      public class Main {
      Socket sock=null;
      public Main(String host,int port,String data){
      Socket sock1;
      BufferedReader entree;
      try{
      sock1=new Socket(host,port);
      PrintStream output=new PrintStream(sock1.getOutputStream());
      output.println(data);
      entree=new BufferedReader(new InputStreamReader(sock1.getInputStream()));
      sock1.close();
      }
      catch(IOException e){}

      }
      /**
      * @param args the command line arguments
      */
      public static String LireClavier () throws IOException
      {

      BufferedReader clavier=new BufferedReader(new InputStreamReader(System.in));
      String lige=clavier.readLine();
      return lige;
      }
      public static void main(String[] args)throws IOException {
      String msg;
      System.out.println("Donner le message à envoye :");
      msg=LireClavier();
      System.out.println("donner l'adresse de serveur");
      String adresse=LireClavier();
      Main client=new Main(adresse,10000,msg);
      // TODO code application logic here
      }

      }