GZipped Buffer mittels UncompressMemory() dekomprimieren
Verfasst: 05.10.2015 14:49
Hallo,
von (m)einem Server bekomme ich Daten mittels ReceiveHTTPMemory(). Funktioniert soweit.
Empfange ich diese Daten GZip-komprimiert, so möchte ich diese mit UncompressMemory() dekomprimieren.
Lt. PB-Hilfe muss ich hierzu UseTarPacker() einbinden ("Bzip2 and Gzip compression are both supported")
UncompressMemory() mit #PB_PackerPlugin_Tar schlägt allerdings fehl. Ich bekomme immer eine 0 zurück.
Ein .NET-Testclient, kann die Daten problemlos dekomprimieren. Was läuft schief?
Danke im Voraus & Grüße ... Peter
// Edit: Sehe grade, dass TAR anscheinend nur für CreatePack() und OpenPack() verwendet wird. Kann das jemand bestätigen?
von (m)einem Server bekomme ich Daten mittels ReceiveHTTPMemory(). Funktioniert soweit.
Empfange ich diese Daten GZip-komprimiert, so möchte ich diese mit UncompressMemory() dekomprimieren.
Lt. PB-Hilfe muss ich hierzu UseTarPacker() einbinden ("Bzip2 and Gzip compression are both supported")
UncompressMemory() mit #PB_PackerPlugin_Tar schlägt allerdings fehl. Ich bekomme immer eine 0 zurück.
Code: Alles auswählen
EnableExplicit
Define *Buffer, BufferSize
Define *Output, OutputSize
Define UncompressMemoryResult
UseTARPacker()
InitNetwork()
*Buffer = ReceiveHTTPMemory("[MeinServer]")
If *Buffer
BufferSize = MemorySize(*Buffer)
Debug "BufferSize: " + Str(BufferSize)
OutputSize = BufferSize * 10
*Output = AllocateMemory(OutputSize)
If *Output
UncompressMemoryResult = UncompressMemory(*Buffer, BufferSize, *Output, OutputSize, #PB_PackerPlugin_Tar)
Debug "UncompressMemory-Result: " + Str(UncompressMemoryResult)
If UncompressMemoryResult
Debug "PeekS(*Output): " + PeekS(*Output, OutputSize, #PB_UTF8)
EndIf
FreeMemory(*Output)
EndIf
FreeMemory(*Buffer)
Else
Debug "Failed"
EndIf
Danke im Voraus & Grüße ... Peter
// Edit: Sehe grade, dass TAR anscheinend nur für CreatePack() und OpenPack() verwendet wird. Kann das jemand bestätigen?