Problème de lecture avec TServerSocket / TClientSocket
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 :
Code:
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);
}
} |
Quand je tape "azerty", je me retrouve avec "????" en sortie.
Auriez vous une idée du problème ?
Merci d'avance pour votre aide !
OkamiRyuu