From c971ca039e0e153c82229f16dd9b968189757396 Mon Sep 17 00:00:00 2001 From: Nico <nigr21@inf.ufpr.br> Date: Sat, 25 Feb 2023 12:12:52 -0300 Subject: [PATCH] oi --- headers/client.h | 33 ++++++++++++++++----------------- headers/server.h | 22 +++++++++++++++++----- 2 files changed, 33 insertions(+), 22 deletions(-) diff --git a/headers/client.h b/headers/client.h index c71edee..67cb295 100644 --- a/headers/client.h +++ b/headers/client.h @@ -263,23 +263,22 @@ void client::send_file() { } // Envia o segundo frame com o nome do arquivo - cout << "Enviando nome do arquivo\n"; - if (!send_message(vector<char>(fileName.begin(), fileName.end()), MIDIA)) - { - cout << "Limite de timout, arquivo nao foi enviado\n"; - return; - } - - cout << "Enviando arquivo\n"; - vector<char> file = read_file(fileName); - if (file.empty() || !send_message(file, DADOS)) - { - cout << "Limite de timout, arquivo nao foi enviado\n"; - return; - } - - else - cout << "Arquivo enviado com sucesso\n"; +// cout << "Enviando nome do arquivo\n"; +// if (!send_message(vector<char>(fileName.begin(), fileName.end()), MIDIA)) +// { +// cout << "Limite de timout, arquivo nao foi enviado\n"; +// return; +// } +// +// cout << "Enviando arquivo\n"; +// vector<char> file = read_file(fileName); +// if (file.empty() || !send_message(file, DADOS)) +// { +// cout << "Limite de timout, arquivo nao foi enviado\n"; +// return; +// } +// +// cout << "Arquivo enviado com sucesso\n"; } /** diff --git a/headers/server.h b/headers/server.h index 327046d..4b72bb6 100644 --- a/headers/server.h +++ b/headers/server.h @@ -46,6 +46,7 @@ private: void receive_midia(frame *f); frame *receive_frame_socket(); int receive_valid_frame(frame **f); + unsigned long chk_available_size(); void start_receveing_message(); public: @@ -131,25 +132,37 @@ unsigned long server::chk_available_size() { cout << "Erro no statvfs, abortado\n"; //send_error(); - return; + return -1; } return st.f_bsize * st.f_bavail; } -void server::receive_midia(frame *f) +// Recebe o frame com o tamanho do arquivo +int server::receive_file_size() { unsigned long availSize = chk_available_size(); + if ( availSize == -1 ) { return -1; } + unsigned long fileSize = stoi(f->get_dado()); if ( fileSize > availSize*0.9 ) { cout << "Tamanho do arquivo muito grande, abortado\n"; //send_error(); - return; + return -1; } cout << "Espaco suficiente em disco\n"; + return 1; +} + +void server::receive_midia(frame *f) +{ + //if ( !create_received_dir) { return; } + if ( !receive_file_size(f) ) { return; } + //if ( !receive_file_name() { return; } + //receive_file_data(); } // Recebe um frame do cliente @@ -214,8 +227,7 @@ void server::start_receveing_message() break; default: - break; - } + break; } } while ( !endTransmission ); } -- GitLab