Commit e009fab11c973a4c5e32cf73a9e94a9e1815ecb6

Authored by Wesnydy Ribeiro
1 parent bac43399
Exists in devel

fix socket connection issues

extrator/src/extratorTXT.cpp
@@ -10,6 +10,7 @@ @@ -10,6 +10,7 @@
10 **************************************************************************/ 10 **************************************************************************/
11 11
12 #include "extratorTXT.h" 12 #include "extratorTXT.h"
  13 +#include <iostream>
13 14
14 ExtratorTXT::ExtratorTXT(){ 15 ExtratorTXT::ExtratorTXT(){
15 listeners = new list<ListenerTXT*>(); 16 listeners = new list<ListenerTXT*>();
@@ -61,15 +62,14 @@ void ExtratorTXT::setFilePath(char* path){ @@ -61,15 +62,14 @@ void ExtratorTXT::setFilePath(char* path){
61 } 62 }
62 63
63 void ExtratorTXT::initialize(){ 64 void ExtratorTXT::initialize(){
64 - file = new lavidlib::File(filePath);  
65 - try{  
66 - file_io = new lavidlib::FileIO(file->getPath(), FileIO::MODE_READ);  
67 - bff_reader = new BufferedReader(file_io);  
68 - }catch(Exception &ex){ 65 + ifs_.open(this->filePath, std::ifstream::in);
  66 +
  67 + if(!(ifs_.is_open() && ifs_.good())) {
69 finish = true; 68 finish = true;
70 Logging::instance()->writeLog("extratorTXT.cpp <Error>: Arquivo de texto não encontrado."); 69 Logging::instance()->writeLog("extratorTXT.cpp <Error>: Arquivo de texto não encontrado.");
71 throw ExtratorException("Falha ao abrir o arquivo de texto! Verifique se o mesmo existe."); 70 throw ExtratorException("Falha ao abrir o arquivo de texto! Verifique se o mesmo existe.");
72 } 71 }
  72 +
73 this->Start(); 73 this->Start();
74 } 74 }
75 75
@@ -79,26 +79,19 @@ bool ExtratorTXT::isFinished(){ @@ -79,26 +79,19 @@ bool ExtratorTXT::isFinished(){
79 79
80 void ExtratorTXT::Run(){ 80 void ExtratorTXT::Run(){
81 PRINTL(util::_INFO, "Extraindo Texto...\n"); 81 PRINTL(util::_INFO, "Extraindo Texto...\n");
82 - int line_index = 0;  
83 - bool hasNext = true;  
84 - string line;  
85 -  
86 - while (hasNext) {  
87 - try{  
88 - line = bff_reader->readLine();  
89 - if (line.length() > 0){  
90 - notifyListeners((unsigned char*) line.c_str()); 82 +
  83 + int line_index = 0;
  84 + string current_line;
  85 +
  86 + while (ifs_.good()) {
  87 + getline(ifs_, current_line, '\n');
  88 +
  89 + if (current_line.length() != 0) {
  90 + notifyListeners((unsigned char*) current_line.c_str());
91 line_index++; 91 line_index++;
92 } 92 }
93 - }catch (EOFException &ex){  
94 - if(line_index == 0)  
95 - notifyListeners((unsigned char*)"ARQUIVO_INVALIDO");  
96 - hasNext = false;  
97 - }catch (...){  
98 - Logging::instance()->writeLog("extratorTXT.cpp <Error>: Erro durante a leitura do arquivo de texto.");  
99 - throw ExtratorException("Falha desconhecida na leitura do arquivo. Tente novamente.");  
100 - }  
101 } 93 }
  94 +
102 finish = true; 95 finish = true;
103 notifyEndExtraction(line_index); 96 notifyEndExtraction(line_index);
104 } 97 }
extrator/src/include/extratorTXT.h
@@ -14,6 +14,8 @@ @@ -14,6 +14,8 @@
14 #include "listenerTXT.h" 14 #include "listenerTXT.h"
15 #include "extratorException.h" 15 #include "extratorException.h"
16 16
  17 +#include <fstream>
  18 +
17 using namespace jthread; 19 using namespace jthread;
18 using namespace std; 20 using namespace std;
19 21
@@ -73,8 +75,10 @@ public: @@ -73,8 +75,10 @@ public:
73 void Run(); 75 void Run();
74 76
75 private: 77 private:
76 - list<ListenerTXT*> *listeners;  
77 - void encodingfiletoUTF8(); 78 + void encodingfiletoUTF8();
  79 +
  80 + list<ListenerTXT*> *listeners;
  81 + ifstream ifs_;
78 }; 82 };
79 83
80 #endif /* EXTRATORTXT_H */ 84 #endif /* EXTRATORTXT_H */
renderer/src/renderer.cpp
1 #include "renderer.h" 1 #include "renderer.h"
  2 +#include <iostream>
2 3
3 Renderer::Renderer(char* path_Contents, char* id) { 4 Renderer::Renderer(char* path_Contents, char* id) {
4 this->pathOutVideo = path_Contents; 5 this->pathOutVideo = path_Contents;
@@ -94,33 +95,32 @@ void Renderer::exportGlosa() { @@ -94,33 +95,32 @@ void Renderer::exportGlosa() {
94 if(glosaQueue.empty()) 95 if(glosaQueue.empty())
95 throw lavidlib::RuntimeException("Fila de glosas vazia!"); 96 throw lavidlib::RuntimeException("Fila de glosas vazia!");
96 97
97 - int glosaSize;  
98 char* glosaBff; 98 char* glosaBff;
99 99
100 string glosaCpy = glosaQueue.front(); //Pega quem estiver na frente da fila 100 string glosaCpy = glosaQueue.front(); //Pega quem estiver na frente da fila
101 - glosaSize = strlen(glosaCpy.c_str())+1;  
102 - glosaBff = new char[glosaSize]; 101 + int size = glosaCpy.length() + 1;
  102 + glosaBff = new char[size];
103 strcpy(glosaBff, glosaCpy.c_str()); 103 strcpy(glosaBff, glosaCpy.c_str());
104 -  
105 try { 104 try {
106 - cSocket->write(glosaBff, glosaSize); //Envia a glosa formatada p/ o player 105 + cSocket->write(glosaBff, size); //Envia a glosa formatada p/ o player
  106 + usleep(1500);
107 }catch(lavidlib::IOException &ex){ 107 }catch(lavidlib::IOException &ex){
108 - throw lavidlib::RuntimeException(ex.getMessage().c_str()); 108 + throw lavidlib::RuntimeException("Erro ao enviar glosa");
109 } 109 }
110 110
111 - char* received = new char[3]; //Mensagem de confirmação de recebimento da glosa: "OK[3]; //Mensagem de confirmação de recebimento da glosa: "OK\0"" 111 + static char received[3]; //Mensagem de confirmação de recebimento da glosa: "OK[3]; //Mensagem de confirmação de recebimento da glosa: "OK\0""
112 do { 112 do {
113 try { 113 try {
114 - cSocket->read(received, 3); //Aguarda a confirmação  
115 - }catch(lavidlib::IOException &ex){  
116 - throw lavidlib::RuntimeException(ex.getMessage().c_str()); 114 + cSocket->receive(received, 3); //Aguarda a confirmação
  115 + }catch(lavidlib::Exception &ex){
  116 + throw lavidlib::RuntimeException("Não foram recebidas respostas do player");
117 } 117 }
118 }while(strcmp(received, OK_FLAG) != 0); //Verifica se é a confirmação correta 118 }while(strcmp(received, OK_FLAG) != 0); //Verifica se é a confirmação correta
119 119
120 glosaQueue.pop(); //Se o envio foi bem sucedido, remove a glosa da fila 120 glosaQueue.pop(); //Se o envio foi bem sucedido, remove a glosa da fila
121 121
122 delete [] glosaBff; 122 delete [] glosaBff;
123 - delete [] received; 123 + // delete [] received;
124 } 124 }
125 125
126 void Renderer::waitScreenShots() { 126 void Renderer::waitScreenShots() {
@@ -154,10 +154,11 @@ void Renderer::initialize() { @@ -154,10 +154,11 @@ void Renderer::initialize() {
154 executeServerScript(); 154 executeServerScript();
155 try{ 155 try{
156 connectToUnityPlayer(); 156 connectToUnityPlayer();
  157 + this->Start();
157 }catch(lavidlib::RuntimeException &ex){ 158 }catch(lavidlib::RuntimeException &ex){
158 throw lavidlib::RuntimeException(ex.getMessage().c_str()); 159 throw lavidlib::RuntimeException(ex.getMessage().c_str());
159 } 160 }
160 - this->Start(); 161 +
161 } 162 }
162 163
163 void Renderer::Run() { 164 void Renderer::Run() {