PDA

Visualizza la versione completa : [C] Posizione Socket descriptor ???


kNemo
14-07-2004, 19:24
Come faccio a vedere in che posizione e' il socket descriptor ??? Usando lsekk() mi da' un errore perche' questa funzione non puo' essere usata con socket e pipe...
Qualcuno ha qualche idea ???
Grazie.

/dev/null
14-07-2004, 20:04
Originariamente inviato da kNemo
Come faccio a vedere in che posizione e' il socket descriptor ??? Usando lsekk() mi da' un errore perche' questa funzione non puo' essere usata con socket e pipe...
Qualcuno ha qualche idea ???
Grazie. I socket deskriptors sono ad accesso sequenziale:
mentre con i files puoi leggere il primo byte, spostarti a meta' e continuare a leggere, coi socket descriptors devi leggere sequenzialmente byte dopo byte, senza mai tornare indietro o saltarne qualcuno...

Per sapere a che byte ti trovi basta che ti leggi il sd byte per byte incrementando ogni volta una variabile contatore

kNemo
14-07-2004, 20:10
Ma allora come fanno quei programmi di download tipo wget
a scaricare un file partendo dal byte n.. (Operazione di resume) se non si puo' spostare il socket ???

Ikitt
14-07-2004, 20:11
Originariamente inviato da kNemo
Ma allora come fanno quei programmi di download tipo wget
a scaricare un file partendo dal byte n.. (Operazione di resume) se non si puo' spostare il socket ???

Sfruttano un'opzione del protocollo HTTP se ben ricordo.
Non e` che 'spostano' il socket (brutto termine peraltro IMHO), semplicemente chiedono al server di mandare il file a partire da un certo offset anziche` dall'inizio.

kNemo
14-07-2004, 20:14
Non e' che sai come si fa' ???

Loading