Application Client/Serveur en Java

Ledébutantdavid Messages postés 2 Statut Membre -  
 meriem -
Bonjour à tous,
Je construit une petite application "Client/Serveur" en Java avec JBuilder.
Le problème est que lorsque mon premier client à terminer sa session, je n'arrive pas à connecter un nouveau client.
Je précise que mon serveur n'accepte qu'un client à la fois.
Je pense que je ne lance pas mon thread au bon endroit.
Si quelqu'un pourrait m'aider, j'en serais très content et vous remercie déjà d'avance.

Voici le programme en question :
un projet Serveur :

public class Serveur extends Thread{
int Port=678;
ServerSocket Secoute;
Socket client;
public Serveur() {
try{
//Lancement du serveur
Secoute = new ServerSocket(Port);
}
catch(IOException e){
System.out.println("Message d'erreur provenant du serveur : \n" +e.getMessage());
System.exit(1);
}
System.out.println("Le serveur en écoute sur le port : " +Port);
//Lancement du thread
this.start();
}

//Traitement à exécuter dans le thread
public void run(){
try {
while(true){
Socket client=Secoute.accept();
ClientConnecte cc = new ClientConnecte(client);
}
}
catch (IOException e) {
System.out.println("Erreur de connection du client : " +e);
System.exit(1);
}
}

public static void main(String[] args) {
Serveur s = new Serveur();
}
}

public class ClientConnecte {
public ClientConnecte(Socket client) {
try{
//Reçois du client
DataInputStream fluxentree = new DataInputStream client.getInputStream());
//Retourne au client
DataOutputStream fluxsortie = new DataOutputStream(client.getOutputStream());

boolean cont = true;

while(cont)
{
System.out.println("\n\tEn attente de commande...");

String lecteur = fluxentree.readLine();
System.out.println("Commande du client: "+lecteur);

if(lecteur.equals("stop"))
{
fluxsortie.writeBytes("Veuillez patienter vous aller être déconnecter...\n");
cont=false;
}

if(lecteur.equals("Dire message")){
fluxsortie.writeBytes("Félicitation, vous êtes bien connecté au serveur !!!\n");
}
}

client.close();

}
catch(IOException e)
{
System.out.println("Erreur de connection : \n\t" +e.getMessage());
}

}

}

Et un projet Client dans une interface graphique...

10 réponses

  1. angelfires
     
    j'ai réalisé un client / serveur http acceptant de multiple client. Peut être que mon code source peut t'aider. Tu pourra trouver le programme à cette adresse : http://www.angelfires-fr.com/programmation/index.php?nom=ittpServer
    11
    1. samiha
       
      merci :)
      0
    2. meriem
       
      stp un programme java sur client serveur
      0
  2. Sam
     
    salut david, je suis aussi debutant en java;
    pour ton programme :

    dans le serveur c'est quoi 'S' juste avant la fin du programme .
    et pour le client : DataInputStream utilisé pourquoi
    6
    1. algeriano
       
      je pense qu'il faut travailler avec les thread c parceque on peu partager la memoire a l'aide thread et bon courage
      0
  3. Zuka93 Messages postés 4 Statut Membre 4
     
    Un serveur client en java ?? un peu comme une application alors ^^
    4
  4. robinhod
     
    Bnjrs,
    alors je pense qu'il faut creer dans la fonction Run() un thread a chaq client connecté

    public void run(){
    try {
    while(true){

    Socket client=Secoute.accept();
    ClientConnecte cc = new ClientConnecte(client);
    // on crée un thead a chaque client connecté
    Thread t = new Thread(cc);
    // on lance le thread
    t.start();
    }
    }
    catch (IOException e) {
    System.out.println("Erreur de connection du client : " +e);
    System.exit(1);
    }
    }
    4
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. hobiko
     
    j'ai besoin d'un programme qui fait programmer un serveur qui fait le traitement de texte(calculer le nombre de mot ,de lettre,nombre d'un mot donnee...etc)
    3
    1. Doumiyou
       
      rani mtayebkom TP madirahlich wahed tedi 000000000000
      0
  7. amine
     
    amira tu ne serait pas de l'ISG par exemple;
    car j'ai le meme probleme
    1
  8. holow1 Messages postés 739 Statut Membre 71
     
    je veux juste poser une question est ce JBuilder et un bon ide ?
    merci

    ++
    0
  9. smile_MT Messages postés 15 Statut Membre
     
    aidez moi a programmer un serveur en langage c ou c++ qui fournit:
    *attente des connexions des users
    *maintient de la liste des user connecté
    *reception des demandes de conversation
    *traitement des demandes d'inscrption

    et le client en java fournit:
    * s inscrire au pré du serveur <<chat>>
    *se connecter au serveur
    *afficher liste des clients connecté ( la liste sera actualisé chaque 30 seconde)
    *commencer une conversation avec un client
    NB: aprés l'Etablissement de connexion, les discussions seront gérées directement par les clients sans passer par serveur(peer to peer). toute communication se réaliseront via les sockets.
    -2
    1. abdelhay ka
       
      il faut que le nombre de port >1023
      car de 0 à 1023 port sont reservé
      0
  10. amira
     
    salut;;;g un prblm de connexion de mon serveur avec le port necesaire pour etablir la connexion serveur ;;enfait g un projet de reseau ki necessite un connection client seloké sur la fenetre du dos,,kel numero de port devrais-je choisir pr ke ça marche,,,merciiiiiiiiiiii
    -3
  11. sonyabm
     
    ça fait trois ans que tu as posté ce message mais voila jai le meme projet a faire et je sais meme pas dou commencer
    Je voudrais bien savoir si tu as encore une copie de ce projet!
    -3
    1. morro
       
      oui t ke maplé
      0