Les Allergies
Alimentaires
Posez votre question Signaler

Application Client/Serveur en Java

Ledébutantdavid 2Messages postés 7 décembre 2003Date d'inscription - Dernière réponse le 9 mai 2012 à 16:10
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...
Lire la suite 

Application Client/Serveur en Java »

16 réponses
Réponse
+9
moins plus
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
Ajouter un commentaire
Réponse
+6
moins plus
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
algeriano - 12 janv. 2012 à 14:29
je pense qu'il faut travailler avec les thread c parceque on peu partager la memoire a l'aide thread et bon courage
Ajouter un commentaire
Réponse
+4
moins plus
Un serveur client en java ?? un peu comme une application alors ^^
Ajouter un commentaire
Réponse
+4
moins plus
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);
}
}
Ajouter un commentaire
Réponse
+3
moins plus
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)
Doumiyou - 10 avril 2008 à 10:11
rani mtayebkom TP madirahlich wahed tedi 000000000000
Ajouter un commentaire
Réponse
+1
moins plus
amira tu ne serait pas de l'ISG par exemple;
car j'ai le meme probleme
Ajouter un commentaire
Réponse
-1
moins plus
nkoul likoum 7aja wa7da koulkoum mrad
kiki - 7 mai 2012 à 19:32
mase5
Ajouter un commentaire
Réponse
-2
moins plus
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.
abdelhay ka - 14 déc. 2011 à 18:31
il faut que le nombre de port >1023
car de 0 à 1023 port sont reservé
Ajouter un commentaire
Réponse
-3
moins plus
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
Ajouter un commentaire
Réponse
-3
moins plus
ç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!
morro - 9 mai 2012 à 16:10
oui t ke maplé
Ajouter un commentaire
Ce document intitulé « Application Client/Serveur en Java » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?