bah perchè per inviare dati tramite socket ho sempre pensato che si usassero send e recv. C'è una soluzione migliore?
Ad ogni modo correggimi se sbaglio: la recv riceve un numero di byte non dipendente direttamente dal numero totale di byte inviati mediante un unica send; però siamo sicuri che il numero di byte ricevuti non eccede mai la dimensione indicata dal terzo parametro.
Quindi se io faccio:
Codice PHP:
recv (s,vettore,8192,0);
la recv potrà ricevere 180, 2000, 8192 ma non 10500 byte giusto?
facendo più recv però io sono sicuro al 100% che i dati arriveranno comunque tutti e in ordine corretto?
Tornando invece al mio esempio io posso fare una cosa del genere?
Codice Invio Dati
Codice PHP:
send(s,vettore_grande,1000000,0);
Codice Ricezione Dati
Codice PHP:
long int conta = 0;
int ric;
while(conta<1000000){
ric = recv(s,(char *)&vettore_grande[conta],1000000,0);
conta += ric;
}
Grazie