no save
Assistance
Achat
News

Forum | programmation
Application Client/Serveur en Java
Ledébutantdavid, le mer. 22 mars 2006 à 18:50:39
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...


Sam
janv. 07
Suivant
REPONSES
Sam
janv. 07
hobiko
mars 08
Doumiyou
avr. 08
amira
avr. 08
amine
avr. 08
angelfires
mai 08
sonyabm
22 avr.
Version Web
Réalisé par RedShift
no save