我使用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壓縮這些字節? –