Hello ! j’ai un probleme avec la fonction bind de mon programme. En effet cette fonction me renvois l’erreur 10038 « attempted ». Est ce que quelqu’un peut m’aider.
Merci.
#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib,"ws2_32.lib")
void main()
{
SOCKET sock;
int ERREUR,lenght,port,i;
WSADATA WSA;
port =5000;
SOCKADDR_IN sin;
lenght=sizeof(sin);
if(WSAStartup(MAKEWORD(2,0),&WSA)==0)
{
printf("wsastartup ok\n");
}
ERREUR=socket(PF_INET,SOCK_STREAM,0);
if(ERREUR==INVALID_SOCKET )
{
printf("socket erreur\n");
}
sin.sin_family =PF_INET;
sin.sin_addr.s_addr=INADDR_ANY;
sin.sin_port =htons(port);
ERREUR=bind(sock,(struct sockaddr *)&sin,lenght);
if(ERREUR==INVALID_SOCKET)
{
printf("erreur %i\n",ERREUR);
i=WSAGetLastError ();
printf("error code %i\n",i);
}
ERREUR=listen(sock,0);
if(ERREUR==INVALID_SOCKET)
{
printf("erreur au listen\n");
i=WSAGetLastError ();
printf("error code %i",i);
}
while(1)
{
accept(sock,(sockaddr *) &sin,&lenght);
send(sock,"message du serveur\0",22,0);
}
shutdown(sock,2);
closesocket(sock);
WSACleanup();
}
Partager