Bonjour.
Je réalise actuellement un programme devant communiquer à travers le réseau avec une autre application (codée en C++ / Qt).
Ne connaissant pas trop Borland, j'ai cherché à apprendre comment communiquer en réseau. Je suis parti sur TServerSocket / TClientSocket. N'arrivant pas à lire correctement les données reçues, j'ai cherché un exemple sur le web et je suis tombé là dessus : http://cpp.developpez.com/telecharge...-un-petit-chat
Mais je me retrouve avec le même problème, ce que le serveur lit n'a rien à voir avec ce qui est écrit par le client.
Voici le code de la réception de donnée :
Quand je tape "azerty", je me retrouve avec "????" en sortie.
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 void __fastcall TForm1::ServerSocket1ClientRead(TObject *Sender, TCustomWinSocket *Socket) { AnsiString DataRecue = "", Temp = "", ChaineNom = "<Nom>"; ItVecClients VecIterator; int HandleClient = 0; //Recevoir les données envoyées par un client DataRecue = Socket->ReceiveText(); //Si c'est un client qui déclare son nom, alors le rajouter dans la liste if(DataRecue.Pos(ChaineNom) != 0) { Temp = DataRecue.SubString(ChaineNom.Length() + 1, DataRecue.Length()); VecIterator = vecClients.begin(); while(VecIterator != vecClients.end()) { HandleClient = (*VecIterator).second; if(Socket->SocketHandle == HandleClient) { ListBox1->Items->Delete(ListBox1->Items->IndexOf((*VecIterator).first)); ListBox1->Items->Add(Temp); (*VecIterator).first = Temp; break; } VecIterator++; } } else { MemoData->Lines->Add(DataRecue); } }
Auriez vous une idée du problème ?
Merci d'avance pour votre aide !
OkamiRyuu
Partager