Я пытаюсь отправить двоичный файл с помощью сокета.
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: проблема была в чтении входящего запроса от клиента. Я не читал его. Если я делаю это, ничего плохого не происходит