Bonjour
je suis en train de développer une com socket sous visual C++ voici le code que j'ai écrit:
se code ne m'affiche que la première lettre du message envoyé par le client par exemple le client envoie le message Salut le serveur reçoit une chaine d'une longueur de 5 caractères mais ne m'affiche que le S dans la liste box
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 void CCommDlg::OnReceive(void) { char *pBuf = new char[1025]; int iBufSize = 1024; int iRcvd; //CString stdRecvd; // Reçoit le message iRcvd = m_sConnectSocket.Receive(pBuf, iBufSize); // Un message a-t-il été reçu ? if (iRcvd == SOCKET_ERROR) { } else { // Tronque la fin du message pBuf[iRcvd] = 0; // Copie le message dans une variable CString CString stdRecvd(pBuf); // Ajoute le message dans la liste des messages reçus m_ctlRecvd.AddString(stdRecvd); // Met à jour les variables avec les contrôles UpdateData(FALSE); } }
j'ai essayé plusieurs solutions telle que CString Recvd((LPCTSTR)pBuf); dans ce cas je n'affiche que Sal puis des carrés
merci pour votre aide
pense à mettre la balise code,Merci Farscape
Partager