[Windev 10, JAVA] Petit souci de socket

Philippe -  
 Willy -
Hello,
voilà, je suis entrain de developper une application JAVA qui va se mettre en attente et en écoute d'un socket sur le port 9999

Quand je me connect avec telnet sur mon application, ça marche très bien, et quand je tape du texte dans telnet, la console (JAVA)me renvoie exactement le bon texte.

En Windev mnt, je me connect sur mon application JAVA, java me dit qu'il voit sa connection, mais dès que je veux écrire une donnée avec SocketEcrit, d'après la doc,
il ajoute devant <TAILLE DE LA CHAINE>+RC+"MA CHAINE"

Donc si j'écris "1" avec SocketEcrit, java me retourne "12" (caractère + RC =2).
Je vais devenir cinglé,

Est-ce que qqn a une idée?

Merci

Philippe

ServerSocket mySS = new ServerSocket(9999);

Socket mySocket = mySS.accept();

System.out.println("Socket opened");

BufferedReader plec = new BufferedReader(
new InputStreamReader(mySocket.getInputStream())
);
InputStreamReader strReader = new InputStreamReader(mySocket.getInputStream());

PrintWriter pred = new PrintWriter(
new BufferedWriter(
new OutputStreamWriter(mySocket.getOutputStream()))
,true);
pred.println("Welcome\n");

int line = 1;
while (true) {



String str = plec.readLine(); // lecture du message


String chaine= new Character((char)tst).toString();



if (str.equals("END")) break;
System.out.println("ECHO = " + str); // trace locale

pred.println("OK : "+str); // renvoi d'un écho


}
A voir également:

1 réponse

Willy
 
Sais pas si ça va t'aider, mais j'ai deja eu affaire aux socket de JAVA, et me souviens qui fallait vider les canaux avec une instruction du genre strReader.flush() ou pred.flush()

Ceci permettait de rendre le fonctionnement du programme plus stable

Bonne chance
0