PDA

Visualizza la versione completa : [C] Trasferimento file con socket


spelux
18-05-2006, 17:47
Ciao a tutti,
sono giorni che sto cercando di implementare una funzione che mi permetta di trasferire file da host all'altro.
Per ora quello che ho fatto funziona bene solo con i file di testo. Ad esempio se provo a trasferire un file binario mi da problemi!

PS: sto lavorando sotto linux!!

Help!!! :oVVoVe: :oVVoVe: :oVVoVe:

oregon
18-05-2006, 19:02
Ma se non posti il codice che ti da' problemi, cosa si puo' fare?

spelux
18-05-2006, 19:28
giustamente avete ragione mi sono dimenticato del codice :prrr: :prrr:

vi posto direttamente la parte interessata:

SERVER:


/* filename il nome del file da aprire */
int f = open(filename,O_RDONLY);
int nread;
int totread = 0;
while( (nread=read(f,buf,MAXLINE) ) > 0 ) {
writen(sockd,buf,strlen(buf));
}

close(f);

// MAXLINE = 1024
// char buf[MAXLINE]
// sockd il descrittore del socket



CLIENT:


int out = open(filename,O_WRONLY|O_TRUNT|O_CREAT);

while((nread = read(sockd,buf,MAXLINE)) {
writen(out,buf,strlen(buf));
}

close(out);


Il codice grosso modo questo...non ho il sorgente a porta di mano. Intanto potete dirmi se il ragionamento giusto o devo fare qualcos'altro per poter trasferire un file?!!? Sul web ho trovato poco e niente a riguardo!! :confused: :confused:

Grazie a tutti

spelux
19-05-2006, 10:07
uppete :dh: :dh:

Loading