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

  FORUM HardWare.fr
  Programmation
  Java

  Socket et Java

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Socket et Java

n°781916
Ben22520
Posté le 30-06-2004 à 00:29:24  profilanswer
 

Salut à tous
j'ai un petit problème lorsque je tente de tester un serveur socket que j'ai moi même créé.
 
Le serveur socket attend les connections des clients, puis lis ce que les clients tentent de lui envoyer.
La lecture se fait via la commande :
 
String msg = entree.readLine();
 
entrée est de type BufferedReader et est affecté par :
entree =new BufferedReader(new InputStreamReader(socket.getInputStream(),Constantes.CHARSET),Constantes.MAX_CARACTERES_MESSAGE);
 
Pour tester mon application, je tente de me connecter à mon serveur socket via Telnet
La connexion ne pose aucun problème mais quand j'écris un message dans la console telnet, et que je valide via la touche entrée, le message n'est pas transmis à mon serveur.
 
Je pense qu'il y a quelque a écrire sous telnet pour que l'envoi soit réalisé. J'ai essayé \n et \r mais ca ne marche pas.
 
Quelqu'un a t'il la solution pour moi ?
 
Merci Merci !


Message édité par Ben22520 le 30-06-2004 à 00:33:04
mood
Publicité
Posté le 30-06-2004 à 00:29:24  profilanswer
 

n°781931
benou
Posté le 30-06-2004 à 00:40:40  profilanswer
 

je pense qu'en telnet tout est balancé au fur et à mesure ... en tout cas, c'est sûr qu'un retour chariot balance tout ...
 
mais là t'as pas montré comment tu lis (sur le serveur) ce qui est envoyé par le client ...

n°781941
Ben22520
Posté le 30-06-2004 à 00:46:04  profilanswer
 

Voici un peu plus de code sur la classe

Code :
  1. public class Client implements Runnable {
  2. private Socket socket = null;
  3. private BufferedReader entree = null;
  4. private BufferedWriter sortie = null;
  5. private boolean eteindre = false;
  6. private Identification ident = null;
  7. private Salon salon = null;
  8. private static int nbClients = 0;
  9. public Client(Socket socketA) {
  10.  this.socket = socketA;
  11.  try {
  12.   entree =
  13.    new BufferedReader(
  14.     new InputStreamReader(
  15.      socket.getInputStream(),
  16.      Constantes.CHARSET),
  17.     Constantes.MAX_CARACTERES_MESSAGE);
  18.   sortie =
  19.    new BufferedWriter(
  20.     new OutputStreamWriter(
  21.      socket.getOutputStream(),
  22.      Constantes.CHARSET),
  23.     Constantes.MAX_CARACTERES_MESSAGE);
  24.  } catch (IOException ioe) {
  25.   System.out.println("IOException : " + ioe.getMessage());
  26.   Serveur.supprimerUtilisateurEnAttente(this);
  27.  }
  28.  nbClients++;
  29. }
  30. public void run() {
  31.  while (!eteindre) {
  32.   try {
  33.    String msg = entree.readLine();
  34.    if (msg != null && msg.length() > 0) {
  35.     msg = msg.substring(0, Constantes.MAX_CARACTERES_MESSAGE);
  36.     System.out.println("Reception de "+toString()+" : "+msg);
  37.     Interpreteur.executer(this, new MessageClientServeur(msg));
  38.    } else {
  39.     System.out.println("Fermeture du client : " + toString());
  40.     Serveur.supprimerClient(this);
  41.    }
  42.   } catch (SocketException e) {
  43.    System.out.println("SocketException : " + e.getMessage());
  44.    Serveur.supprimerClient(this);
  45.   } catch (Throwable e) {
  46.    System.out.println("Exception inconnue :" );
  47.    System.out.println(e.toString());
  48.    Serveur.supprimerClient(this);
  49.   }
  50.  }
  51. }


 
C'est bien la ligne "String msg = entree.readLine();" qui lit ce qui est envoyé par le client

n°781961
benou
Posté le 30-06-2004 à 00:52:03  profilanswer
 

ouais, bizarre ... ca devrait marcher je pense ...
 
(je vois vraiment pas à quoi sert ton MAX_CARACTERES_MESSAGES, mais bon ...)
 
essaye de lire caractères par caractères pout voir si c'est pas un problème de retour à la ligne ...

n°781965
Ben22520
Posté le 30-06-2004 à 00:53:45  profilanswer
 

Oui, merci Benou je vais tenter de faire comme tu dis


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

  Socket et Java

 

Sujets relatifs
choisir la carte réseau du socket en Java[Java] socket: faire tourner plusieurs serveurs sur le meme port
[java] association socket / BufferedtInputStream[Java] Socket / Droits d'admin win2k
[ java ] transfert de fichiers dans un socket[JAVA] Socket UDP et InputStream, probleme de read
Chat en java, PB socket sur wanadoo ?Qq'un a dejà eu ce pb avec socket en Java ?
Utiliser l'Applet Java et Socket pour imprimer: Comment??????[java] envoi de fichier par socket
Plus de sujets relatifs à : Socket et Java


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