Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1370 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [java] programme client/serveur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[java] programme client/serveur

n°955956
ZecMerquis​e
Lightning Baron
Posté le 18-01-2005 à 23:22:21  profilanswer
 

Salut tout le monde
Voilà je suis en train de coder une petite appli serveur/client utilisant les sockets, et pour l'instant j'arrive à envoyer les données par le socket, les afficher etc.
Je vous explique comment ça fonctionne pour que vous puissiez comprendre:  
 - je lance le serveur
- je lance le client
- je tape du texte après avoir lancé le client
- le serveur reçoit les données
- le serveur affiche les données sur le shell du serveur, comme ça: Input = data
- le serveur renvoie un echo au client: Echo = data
 
Et là, le client tombe une boucle, renvoie constamment le premier texte tapé. Si je coupe le serveur en premier, le client continue dans sa boucle.
 
Ce que je souhaite:
- je tape du texte après avoir lancé le client
- le serveur reçoit les données
- le serveur affiche une fois les données avec Input = data
- le serveur renvoit une fois un echo avec Echo = data
- le client affiche l'echo, et réaffiche le prompt, de sorte que je puisse à nouveau taper du texte, et le renvoyer au serveur.  
 
Ce que j'aimerais faire, c'est une sorte de messagerie instantanée, je lance le serveur, puis je lance le client, et en le lancant, je tape un message quelconque, le serveur l'affiche, mais le client doit rester lancé, et si je retape un message ça me l'affiche à nouveau.
En gros c'est le principe d'une messagerie, mais dans un seul sens, on remplace l'autre utilisateur par le serveur.
 
Premier problème, c'est que le texte tapé dans le System.in ça devient des chiffres quand c'est envoyé au serveur. Au lieu de m'afficher "test" il m'affiche "116".
 
Après le deuzième problème c'est comment faire pour que le client reste lancé ? J'ai pensé à une boucle, d'ailleurs le code joint c'est ma dernière tentative avec une boucle, mais le problème, une fois un texte tapé dans le System.in, le serveur l'affiche puis tombe dans une boucle infini qui m'affiche constamment ce que le client a envoyé.  
 
Voilà les fichiers si vous voulez voir:
http://zecmerquise.free.fr/files/socket.tar.gz


Message édité par ZecMerquise le 18-01-2005 à 23:23:44

---------------
A plane is like a computer; the best way for it to crash is to open windows
mood
Publicité
Posté le 18-01-2005 à 23:22:21  profilanswer
 

n°956135
beemer
Posté le 19-01-2005 à 10:16:08  profilanswer
 

1° : dans ta boucle cote client tu fais ca :
output.println(in);
System.out.println(input.readLine());
en gros tu redemandes jamais un autre input
2°: tu devrais faire un :
new BufferedReader(new InputStreamReader(System.in)); parce que tu lis un char au tout debut et c'est tout
 
3° : mets tes classes dans des packages !


Message édité par beemer le 19-01-2005 à 10:17:01

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [java] programme client/serveur

 

Sujets relatifs
Màj config client ($_SESSION) si màj de config serveur (BDD) [RESOLU]Accès à une ZoDB en Java ? Utopie ?
Java Mysql[Débutant] pb execution java script
[DIVERS] Prroposition ProgrammeRediriger vers un serveur ou un autre
Java_logicieljava-sql-interface swing
[[Résolu]Java] Exécuter une action toutes les x minutes ? 
Plus de sujets relatifs à : [java] programme client/serveur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR