我试图使用套接字发送二进制文件。C:将文件发送到套接字
FILE *file;
char *file_data;
file = fopen(filepath, "rb");
//Allocate memory
file_data=(char *)malloc(fileLen+1);
//Read file contents into buffer
fread(file_data, fileLen, 1, file);
fclose(file);
sent = send(client, file_data, strlen(header)+fileLen, 0);
它的工作原理确定,但有些文件太大,我想读的一部分来缓冲,发送,然后读取第二部分,发送等。
我试图让使用FREAD和与fgets部分,但我失败了=(怎么做是正确的
UPD:麻烦是阅读从客户端传入的请求,我没有读它。如果我做到这一点。 ,没有什么不好的事情发生
你需要告诉我们*你怎么试过,否则很难回答你失败的原因。它不应该太难... – unwind 2011-04-08 10:57:09
告诉我们你如何用fread和fgets来做它,我们将告诉你如何使它工作。我会认为你可以直接调用fread,直到它返回一个不同于你的count的值,并且在同一个循环中写入到socket。 – mdm 2011-04-08 10:58:49