Ich hole immer 1000 Byte ab, sollte der freie Platz weniger als 500 Byte sein, erweitere ich den SPeicher um 1000 weitere Bytes.
Oder meinst du, ich soll, wenn ich allokiere, gleich genug SPeicherplatz für 3 oder 4 Häppchen allokieren?
Meinst du, das wäre performancemäßiger besser? Der folgende Code müsste eigentlich immer 5 Häppchen auf einmal holen, bevor er den Speicher neu allokiert:
Code: Alles auswählen
Define *buffer=AllocateMemory(5500)
Repeat
If MemorySize(*buffer)-MemoryStringLength(*buffer) < 500
Define *neu_buffer=ReAllocateMemory(*buffer, MemorySize(*buffer)+5000)
If *neu_buffer
*buffer=*neu_buffer
Else
Break
EndIf
EndIf
Until ReceiveNetworkData(ConnectionID, *buffer, 1000) <> 1000