X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/e76a2b3254a9ddd5902230ca21c532168d0e93b4..6f70c17ffefd6150b68ac0f64a8116e730437408:/Server/src/main.cpp diff --git a/Server/src/main.cpp b/Server/src/main.cpp index 7ac8ff4..08c7cd5 100644 --- a/Server/src/main.cpp +++ b/Server/src/main.cpp @@ -82,6 +82,10 @@ int main(int argc, char* argv[]) { } catch (const sockerr& e) { cerr << "Socket Error: " << e.operation() << " | serrno = " << e.serrno() << " | errstr = " << e.errstr() << endl; + if (e.serrno() == 98) { + cerr << "No se puede usar el puerto " << port << " porque ya está " + "siendo utilizado por otro programa." << endl; + } if (e.io()) { cerr << "Es: non-blocking and interrupt io recoverable error." << endl; @@ -112,16 +116,23 @@ int main(int argc, char* argv[]) { // Conecto señal para atender errores. server->signal_error().connect(SigC::slot(on_error)); + // Conecto señal para atender la finalización del server. + server->signal_finished().connect(SigC::slot(on_finished)); + // Corre el server. - server->run(false); + server->run(); // Espera a que el server se muera. while (server) { - Glib::usleep(1000000); + //cerr << "-----------------\n\nAHHHHHHH\n\n----------------" << endl; + Glib::usleep(100000); // 0,1 segundos } + // Espera un segundo más por las dudas, para asegurarse de que terminó. + Glib::usleep(1000000); // 1 segundo // Como no detachee el server, lo tengo que eliminar a mano. //delete server; return 0; } +