Erreur 10014 dans un serveur WinSocket

fockeoeuf Messages postés 2 Date d'inscription mercredi 16 octobre 2002 Statut Membre Dernière intervention 21 octobre 2002 - 16 oct. 2002 à 14:38
fockeoeuf Messages postés 2 Date d'inscription mercredi 16 octobre 2002 Statut Membre Dernière intervention 21 octobre 2002 - 21 oct. 2002 à 15:16
Voil j'ai cre un petit serveur tout simple mais implmentant la fonction de scurisation windows (sspi).
Mais lorsque le client se connecte pour se faire authentifier, il se produit une erreur 10014 dans la fonction recv que voici:

BOOL ReceiveBytes (
SOCKET s,
PBYTE pBuf,
DWORD cbBuf,
DWORD *pcbRead)
{
PBYTE pTemp = pBuf;
int cbRead, cbRemaining = cbBuf;

while (cbRemaining)
{
cbRead = recv (
s,
(char *)pTemp,
cbRemaining,
0);
if (0 == cbRead)
{
break;
}

if (SOCKET_ERROR == cbRead)
{
fprintf (stderr, "recv failed: %u\n", GetLastError ());
return FALSE;
}

cbRemaining -= cbRead;
pTemp += cbRead;
}

*pcbRead = cbBuf - cbRemaining;

return TRUE;
} // end ReceivesBytes

Apparemment c'est un problme de pointeur ou de buffer mais mme en donnant une valeur gigantesque au buffer a ne marche toujours pas...

Je ne comprends pas d'o a vient d'autant que le code provient des sources Microsoft en partie!

Heeeeeeeeeeeeeeeeelp

2 réponses

ADPro22 Messages postés 126 Date d'inscription mercredi 18 juillet 2001 Statut Membre Dernière intervention 27 octobre 2004
16 oct. 2002 à 20:53
en code d'erreur:
10014
=
WSAEFAULT

le pointeur n'est pas valide ou la taille de ton buffer est trop petite.

Cordialement.
ADPro22.
0
fockeoeuf Messages postés 2 Date d'inscription mercredi 16 octobre 2002 Statut Membre Dernière intervention 21 octobre 2002
21 oct. 2002 à 15:16
Oui je sais qu'il s'agit de ce type d'erreur mais comment faire pour rsoudre ce problme dans mon code ?

-------------------------------
Rponse au message :
-------------------------------

en code d'erreur:
10014
=
WSAEFAULT

le pointeur n'est pas valide ou la taille de ton buffer est trop petite.

Cordialement.
ADPro22.
0
Rejoignez-nous