Hello les gens,
Je fais face à un problème très ennuyeux, et je n'arrive pas à m'en dépêtrer.
J'ai un client développé en java qui lit un flux en tcp émanant d'un serveur codé en vb6 il me semble (nous n'avons aucune spécs sur celui-ci)
Nous avons mené des tests en interne (nous avons donc développé un programme serveur en java qui simule ce que devait réaliser le serveur vb6 cible) et bouzin marche.
En essayant de tester avec le serveur cible on se retrouve face au problème suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
...
socket = new Socket(InetAddress.getByName(System
					.getProperty(ConstantsC7CPIP.SYSTEM_C7CPIP_BVC_SERVER_IP)),
					port/* , InetAddress.getByName("localhost"), port */);
...
-> La connexion est bien établie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
...
//in est private static BufferedReader in;
in = new BufferedReader(new InputStreamReader(
					socket.getInputStream()));
...
String message_distant = new String();
logger.log(Level.INFO, "Le client est en attente de messages...");
int operation = 0;
while (/* operation == 0 && */operation != 99 && (message_distant = in.readLine()) != null) {
//faire son boulot
...
Avec le serveur en interne tout se passe bien (mais je me répète)
Avec le serveur cible on n'arrive pas à sortir du in.readLine()
Nous avons donc décidé d'essayer de lire en caractère par caractère:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
String chars = new String();
int c;
while ((c = in.read()) !=-1) {
chars += (char) c;
System.out.print((char) c);
}
System.out.println("message entier= " + chars);
L'instruction System.out.print((char) c); affiche bien les caractères, cependant nous n'arrivons jamais à sortir de cette boucle j'en déduis que la condition relative au while ((c = in.read()) !=-1 n'est jamais vérifiée (perspicace) or les caractères du flux qui ont été affichés contiennent bien des retour chariot (CRLF)

D’où peux provenir mon problème?
Merci pour toutes vos contributions