Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème de fermeture de connexions [ Windows / Réseau & Internet ] (Mr.X)

vendredi 24 août 2007 à 02:52:46 | Problème de fermeture de connexions

Mr.X

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.

vendredi 24 août 2007 à 09:01:23 | Re : Problème de fermeture de connexions

omnia

salut bon déja

char ip[256]; << tu l'utilise ou ?
unsigned long t << utilité de la variable ???



il faut faire un test pour sa :     WSAStartup(MAKEWORD(2,2), &init);

ensuite quand tu quitte:
 if(m_nSocket == INVALID_SOCKET)
        return 1;

il faut ajouter un WSACleanup(); avant le return 1; ^^


  Sleep(INFINITE); mm

un while(1)_sleep(1000);

ne serait pas mieux ?

ciao et bon codage :)

vendredi 24 août 2007 à 09:04:41 | Re : Problème de fermeture de connexions

omnia

mm j'ai oublié le bug vient surement de cette ligne :


    while(!stop){
        printf("connect = %d\n", connect(m_nSocket, (struct sockaddr*)&Destination, sizeof(Destination)));

tu fait des connects sans arrêt jusqu'a qu'une touche soi appuyé .... bof


mardi 28 août 2007 à 23:19:06 | Re : Problème de fermeture de connexions

Mr.X

Réponse acceptée !
C'était un programme d'exemple, et le char ip[] j'ai oublier de l'enlever... Les erreurs sont "volontaire" dans le sens ou je n'écrit jamais du code comme sa. Mais j'ai essayer de syntétisé le plus rapidement possible le problème auquel j'été confronté et qui me semblé très étrange.
En fait j'ai appris que c'été mon système qui posé problème et non pas le code. Un simple redémarrage a résolu entièrement le problème.
Enfin merci quand même :)



Cette discussion est classé dans : problème, fermeture, destination, stop, nsocket


Répondre à ce message

Sujets en rapport avec ce message

bouton stop [ par rlope ] BonjourJ'ai un petit problème avec un bouton STOP que je voudrais créer. (Visual C++ boite de dialogue)Explication :Avec un bouton de ma boite de dial Problème de fermeture de fenêtre principale [ par tigerskin ] Bonjour !!J'ai un problème avec un programme que j'ai réalisé : tout le déroulement de mon programme se passe bien mais lorsque je quitte ma fenêtre p [C++ Builder] Problème EAccessViolation a la fermeture du programme [ par Sat83 ] Bonjour!Je viens réclamer votre aide car je suis face a un problème dont je ne comprend pas la cause.J'ai une exception EAccessViolation a la fermetur problème de fermeture d'une boite de dialogue non modale [ par ketchupy45 ] Bonjour, j'ai une appli MFC générée sous visual 2003 et une boite de dialogue NON modalej'arrive a la fermer avec un item de menu et un DestroyWindow Problème lors de la fermeture de sockets [ par malik7934 ] Hello,J'ai dans mon programme un socket qui est ouvert et j'envoie d'un client vers un serveur (et vice versa) des infos qui sont traîtées à chaque fo problème multithreading pourtant simple sous Visual C++ & MFC [ par kelly ] Au secours !Je m'arrache les cheveux depuis des jours en essayant de comprendre d'ou vient le probleme :Mon application dispose de boutons type magnét Problème de compilation en utilisant winsock.h [ par Kleidp ] Voila, quand j'essai de compiler du code utilisant les socket Dev-c++ me met:undefined reference to `WSAStartup@8'undefined reference to `socket@12'un hook souris - rotation de la molette [ par ced0777 ] Salut à tous,j'utilise un hook wh_mouse_ll (pour avoir un hook global); lorsque l'évènement rotation de la molette est capté, je récupère les infos da Problème de link : LNK2001 [ par oberown ] J'utilise une API, dont j'utilise les variables.Je n'ai aucun problème pour les utiliser. Or quand je veux en utiliser une celle ci IID_IRTCUserSearch Problème de migration Windev [ par arkange182 ] Bonjour, je veux tout simplement migrer la Base de donnée (Hyperfile) d'une version 5.5 en 7.5 pour l'utiliser avec la mise à jour 7.5 que j'ai faite.


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,749 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.