Chat pour 2 personnes

Soyez le premier à donner votre avis sur cette source.

Vue 22 276 fois - Téléchargée 2 763 fois

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 / Exemple :


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

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Ultrabytes
Messages postés
15
Date d'inscription
dimanche 7 mars 2010
Statut
Membre
Dernière intervention
13 septembre 2010
-
Oh mon dieu les mecs. Vous faites du java et vous ne savez même pas compiler un .java! Je suis désolé, mais avant d'apprendre un language, il faut déjà connaître l'ordinateur.
Je vous plains. Bon courage pour la suite.
sky, je te donne 10/10, car j'ai aimé ton petit chat.
obydissonn
Messages postés
2
Date d'inscription
mardi 19 juillet 2005
Statut
Membre
Dernière intervention
28 février 2006
-
cmt ça marche ce code
aquewel
Messages postés
145
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
6 juin 2010
-
Comment cela marche ???????????

Comment compiler le code ????????
argzoygt
Messages postés
4
Date d'inscription
jeudi 27 mars 2003
Statut
Membre
Dernière intervention
15 avril 2003
-
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 ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.