Тема: UDP. Як прийняти файл, довжину котрого ми не знаємо?
Хай. Для того, аби прийняти якісь дані, ми маємо виділити пам'ять під них. Але якщо ми не знаємо довжини файлу, то як нам бути?
Я пробував ось так, але це не працює, бо вилазе помилка під час виконання
char recvBuff1[1]; // ініціалізуємо масивчик, аби був
Client client; // ну це мій клас, в ньому просто структура з даними про адресу і довжина тої структури
int n = recvfrom(sock, recvBuff1, 1, MSG_PEEK, (sockaddr*)&client.addr, (int*)&client.addrLength); // MSG_PEEK заносить дані в recvBuff1, але не видаляє ці дані з черги
char * recvBuff = new char[n]; // n - довжина прийнятих даних
recvfrom(sock, recvBuff, n, 0, (sockaddr*)&client.addr, (int*)&client.addrLength); // і от тут ми знову забираємо дані з черги, але тепер видаляємо їх з черги