我使用zlib压缩我的文件,我没有看到它的大小在压缩后的重大变化,我试图有一个与套接字传输速度的改进,所以我' m在通过套接字发送文件之前尝试压缩文件。套接字压缩数据的优点
我使用下面的代码来压缩文件:
int compress_file(char *infilename, char *outfilename) {
FILE *infile = fopen(infilename, "rb");
gzFile outfile = gzopen(outfilename, "wb");
if (!infile || !outfile) return -1;
char inbuffer[128];
int num_read = 0;
unsigned long total_read = 0, total_wrote = 0;
while ((num_read = fread(inbuffer, 1, sizeof(inbuffer), infile)) > 0) {
total_read += num_read;
gzwrite(outfile, inbuffer, num_read);
}
fclose(infile);
gzclose(outfile);
}
什么是发送插座上之前压缩文件的优势是什么?
你为什么之前压缩文件** **发送过来的插座?您应该在**发送时压缩它**。然后,你不必浪费预压缩的任何时间的文件,并且没有浪费任何临时磁盘空间。 –
你压缩什么样的文件?请记住,如果该文件已经很好压缩(例如.zip文件或。MP3文件),然后进一步压缩它可能不会得到额外的大小减少(并可能实际上甚至使文件大小更大!) –
压缩每个文件块,而发送?我可以用zlib压缩这些字节? –