diff --git a/headers/client.h b/headers/client.h index c71edeed6068f3367ef8f7cf4593e98b869c91ed..67cb295a92a604a9eecffb0aa713c3d88897efe0 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 327046df7c4afe484879588e646681282fdba8c1..4b72bb6475e2d306faf440e91a5365cd42174719 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 ); }