X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/184e15f0eedd1a3895987e59f5d39fad19c3b9b6..5e9414c4a70c6f2a33f399dd1f92a3adf3fe73ea:/Server/tests/client_test.cpp?ds=inline diff --git a/Server/tests/client_test.cpp b/Server/tests/client_test.cpp index 2bf118a..9ff2fbb 100644 --- a/Server/tests/client_test.cpp +++ b/Server/tests/client_test.cpp @@ -27,9 +27,7 @@ #include "plaqui/server/controlclient.h" #include "plaqui/server/string.h" -//#include #include -#include #include #include @@ -38,6 +36,14 @@ using namespace PlaQui::Server; ControlClient* client = NULL; +void on_error(const Runnable::Error& code, const string& desc) { + cerr << "--------------------------------------------------------" << endl; + cerr << "Error en el cliente:" << endl; + cerr << "Código: " << code << endl; + cerr << "Descripción: " << desc << endl; + cerr << "--------------------------------------------------------" << endl; +} + void on_finished(void) { client = NULL; } @@ -51,6 +57,11 @@ void on_ok_received(const string& body) { cout << " Body: " << body << endl; } +void on_frame_received(const string& frame) { + cout << " Frame recibido! :-D" << endl; + cout << frame << endl; +} + void on_error_received(unsigned code) { cout << " Respuesta recibida: Error nro " << code << "! :-(" << endl; } @@ -72,11 +83,10 @@ int main(int argc, char* argv[]) { // Obtengo host. host = argv[1]; } - unsigned port = 7522; + // Obtengo puerto. + Connection::Port port = 7522; if (argc > 2) { - // Obtengo puerto. - stringstream str(argv[2]); - str >> port; + to(argv[2], port); } // Inicializa threads. @@ -85,10 +95,12 @@ int main(int argc, char* argv[]) { try { // Corre el cliente. client = new ControlClient(host, port); + client->signal_error().connect(SigC::slot(on_error)); client->signal_finished().connect(SigC::slot(on_finished)); client->signal_connected().connect(SigC::slot(on_connected)); client->signal_ok_received().connect(SigC::slot(on_ok_received)); client->signal_error_received().connect(SigC::slot(on_error_received)); + client->signal_frame_received().connect(SigC::slot(on_frame_received)); client->run(); char buf[BUFSIZ]; while (cin.getline(buf, BUFSIZ)) { @@ -108,7 +120,7 @@ int main(int argc, char* argv[]) { break; default: Command cmd(v[0], v[1]); - v.erase(v.begin(), v.begin() + 1); + v.erase(v.begin(), v.begin() + 2); cmd.set_args(v); client->send(cmd); break;