Application Client/Serveur en Java

Fermé
Ledébutantdavid Messages postés 2 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 22 mars 2006 - 22 mars 2006 à 18:50
 meriem - 24 avril 2014 à 16:18
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...
A voir également:

10 réponses

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
merci :)
0
stp un programme java sur client serveur
0
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
je pense qu'il faut travailler avec les thread c parceque on peu partager la memoire a l'aide thread et bon courage
0
Zuka93 Messages postés 3 Date d'inscription mardi 29 décembre 2009 Statut Membre Dernière intervention 29 décembre 2009 4
29 déc. 2009 à 22:56
Un serveur client en java ?? un peu comme une application alors ^^
4
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
rani mtayebkom TP madirahlich wahed tedi 000000000000
0
amira tu ne serait pas de l'ISG par exemple;
car j'ai le meme probleme
1
holow1 Messages postés 680 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 7 décembre 2012 71
30 nov. 2010 à 22:40
je veux juste poser une question est ce JBuilder et un bon ide ?
merci

++
0
smile_MT Messages postés 12 Date d'inscription samedi 21 mars 2009 Statut Membre Dernière intervention 10 février 2010
5 janv. 2010 à 18:07
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
il faut que le nombre de port >1023
car de 0 à 1023 port sont reservé
0
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
ç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
oui t ke maplé
0