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"
EndIfDanke im Voraus & Grüße ... Peter
// Edit: Sehe grade, dass TAR anscheinend nur für CreatePack() und OpenPack() verwendet wird. Kann das jemand bestätigen?
