Quote:
Originariamente inviato da sottovento
Per quanto ci siamo detti, puoi anche non chiamare la Socket->ReceiveLength(): semplicemente dichiari il tuo buffer e cominci a leggere. Quello che fa la rete in mezzo e quello che fa il driver, tutto sommato, non ti interessa, no?
Quindi e' anche piu' facile:
1 - il server ti dice che il file e' lungo xxxxxxx bytes (ATTENZIONE - va da se' che siccome questo numero sara' su piu' bytes, potrebbe essere ricevuto anche lui in tempi diversi);
2 - fintanto che ricevi i byte
2.1 - li metti nel tuo buffer;
2.2 - li scrivi/elabori;
2.3 - sei pronto a ricominciare usando lo stesso buffer
|
quindi potre allocare da subito ad esempio un buffer da 100KB e continuare a leggere sino a quando trovo il marcatore di fine file "xyz123"