begin process at 2008 08 28 16:05:47
1 233 191 membres
293 nouveaux aujourd'hui
14 291 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CHAT POUR 2 PERSONNES


Information sur la source

Catégorie :Application Classé sous : chat, client, serveur Niveau : Initié Date de création : 07/07/2002 Date de mise à jour : 07/07/2002 19:50:02 Vu / téléchargé: 11 981 / 1 339

Note :
7,75 / 10 - par 4 personnes
7,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

Description

Ce code permet à 2 personnes de communiquer à travers une interface graphique.
Les 2 personnes voulant communiquer doivent compiler le code et l'executer  sur la machine

Il faut simplement penser à inverser les numéros de port de reception et d'emission entre les 2 utilisateurs.

Si vous avez des problemes, mailez moi sky13@voila.fr

Source

  • import java.awt.*;
  • import java.awt.event.*;
  • import java.io.*;
  • import java.net.*;
  • class Client2 extends Frame {
  • //Declaration des attributs
  • TextField t1;
  • TextField adIP;
  • Label adrIP;
  • Label Nom;
  • TextField nom;
  • Button b1;
  • static int a;
  • Socket mySock;
  • PrintStream ps;
  • Label lText;
  • Label lBvenue;
  • String ligne;
  • static TextArea ta;
  • public Client2() {
  • //Titre de la fenetre
  • setTitle("Client");
  • //Fermeture de la fenetre
  • addWindowListener( new WindowAdapter() {
  • public void windowClosing(WindowEvent e) {
  • System.exit(0);
  • }
  • });
  • //Instanciation des attributs
  • t1 = new TextField();
  • adIP = new TextField();
  • nom = new TextField();
  • b1 = new Button("Envoyer");
  • lText = new Label("Texte à envoyer :");
  • adrIP = new Label("Entrez l'adresse IP ");
  • Nom = new Label("Entrez votre nom ");
  • lBvenue = new Label("Bienvenue sur votre application chat");
  • ta = new TextArea(10,6);
  • ta.setEditable(false);
  • a=1;
  • //Definir le layout et creer ses composants
  • setLayout(new GridBagLayout());
  • GridBagConstraints c = new GridBagConstraints();
  • c.gridx = 1;c.gridy = 0;c.gridheight = 1;c.gridwidth = 1;
  • c.fill = GridBagConstraints.BOTH;
  • c.weightx = 1.0;c.weighty = 1.0;
  • c.insets = new Insets(5,5,5,5);
  • add(lBvenue,c);
  • c.gridy = 1;
  • add(Nom,c);
  • c.gridy = 2;
  • add(nom,c);
  • c.gridy = 3;
  • add(adrIP,c);
  • c.gridy = 4;
  • add(adIP,c);
  • c.gridy = 5;
  • add(lText,c);
  • c.gridy = 6;
  • add(t1,c);
  • c.gridy = 7;
  • add(b1,c);
  • c.gridy = 8;
  • add(ta,c);
  • //Action sur le bouton b1
  • b1.addActionListener(new ActionListener() {
  • public void actionPerformed(ActionEvent e) {
  • try
  • {
  • if (a==1)
  • {
  • mySock = new Socket(adIP.getText(), 11111);
  • ps= new PrintStream(mySock.getOutputStream());
  • }
  • //System.out.println("creation socket");
  • ps.print(t1.getText());
  • ta.append("<" + nom.getText() + "> " + t1.getText() + "\n");
  • ps.println();
  • a=1;
  • ps.close();
  • mySock.close();
  • t1.setText("");
  • adIP.setEditable(false);
  • nom.setEditable(false);
  • }
  • catch(Exception err){err.printStackTrace();}
  • }
  • });
  • //Taille de la fenetre
  • setBackground(Color.cyan);
  • pack();
  • setLocation(350,350);
  • //rendre la fenetre visible
  • setVisible(true);
  • }
  • //Programme principal
  • public static void main (String [] args)
  • {
  • new Client2();
  • Socket sock2;
  • ServerSocket ss2;
  • DataInputStream dis2;
  • String ligne;
  • String temp = "";
  • try
  • { ss2 = new ServerSocket(8080);
  • while(true)
  • {
  • temp = "<Client> ";
  • sock2 = ss2.accept();
  • dis2 = new DataInputStream(sock2.getInputStream());
  • while((ligne =dis2.readLine())!= null)
  • {
  • temp += ligne;
  • }
  • temp += "\n";
  • ta.append(temp);
  • dis2.close();
  • sock2.close();
  • }
  • }
  • catch(Exception err){err.printStackTrace();}
  • }
  • }
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;

class Client2 extends Frame {

  //Declaration des attributs
  TextField t1;
  TextField adIP;
  Label adrIP;
  Label Nom;
  TextField nom;
  Button b1;
  static int a;
  Socket mySock;
  PrintStream ps;
  Label lText;
  Label lBvenue;
  String ligne;
  static TextArea ta;
  

  public Client2() {
    

    //Titre de la fenetre
    setTitle("Client");

    //Fermeture de la fenetre
    addWindowListener( new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        System.exit(0);
      }
    });

    //Instanciation des attributs
    t1 = new TextField();
    adIP = new TextField();
    nom = new TextField();
    b1 = new Button("Envoyer");
    lText = new Label("Texte à envoyer :");
    adrIP = new Label("Entrez l'adresse IP ");
    Nom = new Label("Entrez votre nom ");
    lBvenue = new Label("Bienvenue sur votre application chat");
    ta = new TextArea(10,6);
    ta.setEditable(false);
    a=1;

   
    //Definir le layout et creer ses composants
    setLayout(new GridBagLayout());
    GridBagConstraints c = new GridBagConstraints();
    c.gridx = 1;c.gridy = 0;c.gridheight = 1;c.gridwidth = 1;
    c.fill = GridBagConstraints.BOTH;
    c.weightx = 1.0;c.weighty = 1.0;
    c.insets = new Insets(5,5,5,5);
    add(lBvenue,c);
    c.gridy = 1;
    add(Nom,c);
    c.gridy = 2;
    add(nom,c);
    c.gridy = 3;
    add(adrIP,c);
    c.gridy = 4;
    add(adIP,c);
    c.gridy = 5;
    add(lText,c);
    c.gridy = 6;
    add(t1,c);
    c.gridy = 7;
    add(b1,c);
    c.gridy = 8;
    add(ta,c);

    //Action sur le bouton b1
    b1.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {

        try
        {
          if (a==1)
          {
            mySock = new Socket(adIP.getText(), 11111);
            ps= new PrintStream(mySock.getOutputStream());
          }

          //System.out.println("creation socket");
          ps.print(t1.getText());
          ta.append("<" + nom.getText() + "> " + t1.getText() + "\n");
          ps.println();
          a=1;
          ps.close();
          mySock.close();
          t1.setText("");
          adIP.setEditable(false);
          nom.setEditable(false);

        }
        catch(Exception err){err.printStackTrace();}
      }
    });

    //Taille de la fenetre
    setBackground(Color.cyan);
    pack();
    setLocation(350,350);
    //rendre la fenetre visible
    setVisible(true);

  

  }

  //Programme principal
  public static void main (String [] args)
  {
    new Client2();
    Socket sock2;
    ServerSocket ss2;
    DataInputStream dis2;
    String ligne;
    String temp = "";
    try
    { ss2 = new ServerSocket(8080);
    
    
      while(true)
    
      {
      
      
          temp = "<Client> ";    
          sock2 = ss2.accept();
          dis2 = new DataInputStream(sock2.getInputStream());
          while((ligne =dis2.readLine())!= null)
          {
            temp += ligne;
          }
          temp += "\n";
          ta.append(temp);
          dis2.close();
          sock2.close();
         
          
     }
   }
      catch(Exception err){err.printStackTrace();}
    
  
  }

}

Conclusion

pour visiter mon site web http://www.ifrance.com/timetoprogram
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de argzoygt le 15/04/2003 12:55:09

    C'est cool mais si  je ne connais pas l'adresse IP de la personne avec laquelle je veux entrer en communication on fait comment ?

  • signaler à un administrateur
    Commentaire de aquewel le 30/06/2004 13:59:21

    Comment cela marche ???????????

    Comment compiler le code ????????

  • signaler à un administrateur
    Commentaire de obydissonn le 28/02/2006 17:52:14

    cmt ça marche ce code

Ajouter un commentaire

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

Snippets en rapport

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS