Socket error 10014

Résolu
HeavenForsaker Messages postés 223 Date d'inscription mercredi 13 juillet 2005 Statut Membre Dernière intervention 8 août 2011 - 14 mars 2006 à 14:24
HeavenForsaker Messages postés 223 Date d'inscription mercredi 13 juillet 2005 Statut Membre Dernière intervention 8 août 2011 - 5 avril 2006 à 18:33
Bonjour,

Voici une partie de mon code :

//--------------------------------------------------------------------
#include <windows.h>
#include <winsock2.h>
//Librairie WS2_32.lib ajoutée au projet.

//Version de winsock à utiliser.
WORD wVersionRequested = MAKEWORD(2, 2);

//Initialisation de l'objet WSA.
//------------------------------
WSADATA wsaData;
//WSAStartup retourne 0 en cas de succès.
int iResult = WSAStartup(wVersionRequested, &wsaData);
if (iResult != 0)
return 0;

//Création du socket.
//-------------------
SOCKET Sock;
Sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
//Test si la création du socket a réussi.
if (Sock == INVALID_SOCKET)
{
int iError = WSAGetLastError();
WSACleanup();
return 0;
}
//--------------------------------------------------------------

la fonction WSAStartup passe avec succès(renvoi 0), c'est au niveau de la fonction "socket" que ça coince.
Le debugger m'envoi le message suivant :

Program received signal (SIGSEGV)
Segmentation fault
Value of iResult:
Previous frame inner to this frame (corrupt stack?)

Puis m'ouvre la fenêtre "back-trace" à laquelle je comprend rien.
WSAGetLastError retourne le code erreur 10014 soit sur MSDN :
* Bad address. : The system detected an invalid pointer address in attempting to use
a pointer argument of a call. This error occurs if an application
passes an invalid pointer value, or if the length of the buffer is too
small. For instance, if the length of an argument, which is a sockaddr structure, is smaller than the sizeof(sockaddr).
I don't understand ! please help !

6 réponses

HeavenForsaker Messages postés 223 Date d'inscription mercredi 13 juillet 2005 Statut Membre Dernière intervention 8 août 2011
5 avril 2006 à 18:33
J'ai enfin trouvé le fautif...ZoneAlarm Security Suite !
Vous allez me dire : "Evidemment coco ! faut fermer ton firewall quand tu programme."
Le pire c'est que même éteind il bloque l'api winsock ! J'ai vérifié aucun service lié à ce logiciel ne tourne et il arrive quand même a empêcher des fonctions de se lancer ! c'est très fort !
Ca en dit long sur la transparence du logiciel...merci ZoneLabs pour m'avoir fait perdre un temps précieux (obligé de formater et d'installer les logiciel 1 à 1 pour trouver lequel faisais tout foirer, j'aurai plus parié sur un de mes (nombreux) logiciel cracké...enfin bon bref!).
Heureusement qu'une fois cette daube de ZA Security Suite désinstallé le problème disparait ! (il manquerai plus qu'il ne se désinstalle pas correctement!).
A noté que la version gratuite de ZA n'est pas affecté par le problème...bizarre...
3