Messagerie en mode connecté en Java

Anthony -  
 barhoum45 -
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. kalamit
     
    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
  2. barhoum45
     
    /*
    * 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
    }

    }
    0