none
Aus der MSDN Hotline: WinHTTP Datengrößeproblem (WINAPI) RRS feed

  • Allgemeine Diskussion

  • Hallo zusammen,

    heute wurde uns bei der MSDN Hotline unter anderem folgende Frage gestellt: 
    Ich schreibe eine Anwendung mit WinHTTP. WinHttpQueryDataAvailable() sagt mir dabei, wie viel Daten am Socket liegen. Das Problem ist, wenn ich danach versuche, mit WinHttpReadData die Daten auszulesen, bekomme ich deutlich mehr Daten zurück als erwartet. So weiß ich nie, wie groß ich den Buffer machen muss.

    Unsere Antwort bzw. unser Lösungsvorschlag darauf war:
    Das beschriebene Verhalten ist normal. In der Zeit zwischen der Aufruf von WinHttpQueryDataAvailable() und WinHttpReadData() sind einfach neue Daten angekommen, deswegen ist der Anzahl der an dem Socket wartenden Daten größer.

    Die Dokumentation für WinHttpQueryDataAvailable() sagt:

    This function returns the number of bytes of data that are available to read immediately by a subsequent call to WinHttpReadData. If no data is available and the end of the file has not been reached, one of two things happens.

    Mehr Informationen zum Thema findet man auf den folgenden Adressen in MSDN Online:

    1. MSDN: WinHTTP Start Page
    2. MSDN: WinHttpQueryDataAvailable-Function
    3. MSDN: WinHttpReadData-Function

    Viele Grüße,
    Atanas Dimitrov
    MSDN Hotline für MSDN Online Deutschland

    Disclaimer:
    Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
    Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die MSDN Hotline: http://www.msdn-online.de/Hotline 
    MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

    Es gelten für die MSDN Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu Markenzeichen sowie die allgemein gültigen Informationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die MSDN Hotline.

    Donnerstag, 16. Dezember 2010 14:57