Bonjours. Enfait mon problème c'est que lorsque je lance un programme que j'ai créé celui-ci se déroule parfaitement bien. Mais après sa fermeture et lors du relancement de la même application j'ai un problème de fuite de mémoire. La mémoire vive alloué a mon application grossit de plus en plus sans s'arrêter. Je n'ai toujours pas compris d'ou pouvais venir le problème.
Voila mon code :
#include <stdio.h>
#include <winsock2.h>
#ifdef _MSC_VER
#pragma comment(lib,"ws2_32.lib")
#endif
SOCKET m_nSocket;
bool stop = false;
DWORD WINAPI test(void *){
SOCKADDR_IN Destination;
char ip[256];
WSADATA init;
WSAStartup(MAKEWORD(2,2), &init);
unsigned long t = inet_addr("127.0.0.1");
m_nSocket = socket(AF_INET,SOCK_STREAM,0);
if(m_nSocket == INVALID_SOCKET)
return 1;
Destination.sin_family=AF_INET;
Destination.sin_addr.s_addr=t;
Destination.sin_port=htons(33334);
while(!stop){
printf("connect = %d\n", connect(m_nSocket, (struct sockaddr*)&Destination, sizeof(Destination)));
}
closesocket(m_nSocket);
printf("WSACleanup()\n");
WSACleanup();
return 0;
}
int main(){
CreateThread(NULL, 0, test, NULL, 0, NULL);
system("pause");
stop = true;
Sleep(INFINITE);
return 0;
}
Merci d'avance.