IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Incompatibilité entre winhttp et winsock2


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 7
    Par défaut Incompatibilité entre winhttp et winsock2
    Salut les gars!
    J'écris en anglais car j'habite en France depuis pas très long temps et je maitrise mieux l'anglais merci

    My program:

    I have a simple client that does the following actions in the given order:

    1. It does an http request to a server and retrieves a txt page.
    2. It changes some values, generates a string and does a post to the server.

    (after this, winhttp is never again used, so every handler is closed )

    3. Then it opens a datagram socket in the port 7654 and does a printf for every datagram received. It doesn't stock the datagrams though

    As you may see, the client behaviour is very simple.

    The problem:
    After 5 o 6 minutes of execution (~10000 datagrams received) I get an assertion error from the CRT: _CrtIsValidHeapPointer. I have tracked this assertion and it comes from one thread that the winhttp service created at the begining of the execution (when I did the http GET and POST) and that now wants to be detached. When it tries to free its per-thread pointer, the assertion occurs.

    I have tried to figure out an explanation for thi but I can't. I am totally blocked now... does anybody see why this is happening??

    Thanks in advance

    Manu

  2. #2
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 641
    Par défaut
    une petite traduction du message
    Mon programme:

    J'ai un simple client qui ne les actions suivantes dans l'ordre:

    1. Il ne fait une requête HTTP à un serveur et récupère une page txt.
    2. Il modifie certaines valeurs, qui génère une chaîne et envoie une réponse au serveur.

    (après, WinHTTP n'est plus jamais utilisé, de manière à fermer les gestionnaires)

    3. Puis il ouvre un socket datagramme dans le port 7654 et fait un printf pour chaque datagramme reçu. Il ne stocke pas les datagrammes

    Comme vous le voir, le client comportement est très simple.

    Le problème:

    Après 5 ou 6 minutes de l'exécution (~ 10000 datagrammes reçus),j"obtiens une erreur affirmation de la CRT: _CrtIsValidHeapPointer. J'ai suivi cette affirmation et il s'agit d'un thread que le WinHTTP service créé au début de l'exécution (lorsque j'ai fait le HTTP GET et POST) et que, désormais, veut être détaché. Quand il tente de libérer le thread, l'affirmation se produit.

    J'ai essayé de trouver une explication à cela, mais je n'y arrive pas. Je suis maintenant totalement bloqué ... personne ne voit pas pourquoi ce qui se passe?

    Merci d'avance

    Manu
    Je me doutes que le français ne soit pas des plus faciles pour toi, mais la plupart des réponses se feront malheureusement dans cette langue... j'espère que tu les comprendra

    I understand that french is difficult for you, but many answers will be in this language... I hope you will undertand them.

    Pourrais tu nous présenter le code afin que nous nous fassions une idée plus précise du problème

    Could you post here the code to help us to have a better idea about your problem :question
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    C'est un forum francophone, donc si tu ne maitrises pas cette langue, adresse toi plutot a un forum anglophone.

    Ton probleme fait fortement penser a une corruption memoire. Verifie tes buffers...

Discussions similaires

  1. Incompatibilité entre les objets
    Par bastoonet dans le forum Designer
    Réponses: 1
    Dernier message: 22/02/2007, 08h51
  2. Incompatibilitée entre SDL et SDL_net ?
    Par lichman dans le forum SDL
    Réponses: 2
    Dernier message: 09/12/2006, 18h27
  3. objet incompatibilité entre Flash8 et Flash9
    Par Heptaeon dans le forum Flash
    Réponses: 1
    Dernier message: 20/10/2006, 23h56
  4. Incompatibilité entre doctype et javascript
    Par Orionmel dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/11/2005, 15h03
  5. Réponses: 2
    Dernier message: 25/05/2004, 11h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo