bonjour,
J'ai codé un serveur et un client TCP sous C++ builder 6 en mode console. Lorsque que mon client se connecte au serveur, celui-ci fait appel à une méthode qui récupère une valeur (venant d'un micromètre numérique) sous forme d'une string. Cette valeur est ensuite renvoyé au client.
Mais une fois que le client reçoit la valeur, celle-ci est affiché en caractères spéciaux alors qu'elle est visible au niveau du serveur.
J'ai essayé différentes méthodes mais sans résultats.
Pour vous aider, je joins le code du serveur :
puis celui du client :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 ServerSocket serveur(8060); ServerSocket new_sock; char msg[1]; string val="002215"; for(;;) { serveur.accept(new_sock); cout<<"connexion acceptee"<<endl; new_sock.set_non_blocking(false); new_sock.recvMessage(&msg,sizeof(msg)); if(msg[0] == 'm') { cout<<"une mesure est demandee"<<endl; new_sock.sendMessage(&val,sizeof(val)); } serveur.Close(); }
voici la valeur que je reçois au niveau du client :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 ClientSocket client( "10.72.5.225", 8060 ); char valeur[6]; char msg[1]; msg[0] = 'm'; for(;;) { client.sendMessage(&msg,sizeof(msg)); client.recvMessage(valeur,6); cout<<valeur; }
Donc toute idée sera la bienvenue, je vous remercie d'avance pour votre aide.
++ spawnsy
Partager