the server is uploading the file....
while(sent_bytes < file_size)
{
write_buff=(char*)malloc(file_size);
uint32_t nread = fread(write_buff,1,1024,fp);
strcpy(write_buf,write_buff);
printf("\n%s\n",write_buf);
// writing fromthe file to the socket descriptor temp
uint32_t nwritten = write(temp, write_buf, nread);
sent_bytes += nwritten;
usleep(20000);
memset(write_buf,0,1024);
free(write_buff);
}
if((file_size-sent_bytes==0)){
fclose(fp);
}
the following snippet is for the client
//read from socket desc temp to buffer temp_write
bytes_read = read(temp, temp_write, 1024);
received_bytes+=bytes_read;
if(received_bytes<=file_descriptor[i].file_len){
if(file_descriptor[i].fd==0){
file_descriptor[i].fd++;
//opening the file for writing for first time file_descriptor[i].fp=fopen(extracted_payload_buf,"w"); fwrite(temp_write,1,bytes_read,file_descriptor[i].fp);
fflush(file_descriptor[i].fp);
}
else fwrite(temp_write,1,bytes_read,file_descriptor[i].fp); if(file_descriptor[i].file_len-received_bytes==0){
received_bytes=0; fclose(file_descriptor[i].fp);
file_descriptor[i].fd=0;
close(temp);
remove_conn(i);
}
}
}
I want to make sure if i can use read,write for socket ops and fwrite,fread for file ops. Also is the usage right.
Thanks
Last edited by sdas7; 05-24-2009 at 01:11 PM.
|