]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Server/src/controlclient.cpp
Se arregla el bug que hacia que se cuelgue el cliente al desconectarse.
[z.facultad/75.42/plaqui.git] / Server / src / controlclient.cpp
index 15b576e54801a17cbe22728017f0d4db4650e7da..e744d0d0c8066bf062569c440dea26cbffe46c0e 100644 (file)
@@ -43,7 +43,7 @@ ControlClient::~ControlClient(void) {
                << ": destructor." << endl;
 #endif // DEBUG
        // TODO Temporal: espero que el receiver muera.
-       receiver.finish(true);
+       receiver->finish(true);
 }
 
 ControlClient::ControlClient(const string& _host,
@@ -57,6 +57,7 @@ ControlClient::ControlClient(const string& _host,
        socket->connect(host.c_str(), port);
        host = socket->localhost();
        port = socket->localport();
+       receiver = new Receiver(7528, host);
 }
 
 void ControlClient::real_run(void) {
@@ -73,7 +74,7 @@ void ControlClient::real_run(void) {
        // TODO sacar signal_connected?
        connected();
        // TODO Temporal: el receiver empieza a escuchar.
-       receiver.run();
+       receiver->run();
        while (!stop) {
                HTTPResponse response;
                try {
@@ -138,7 +139,7 @@ Receiver::SignalFrameReceived& ControlClient::signal_frame_received(void) {
        // XXX - cuidado, esto puede dar quilombo si no esta protegido por un mutex,
        // aunque no deberia porque la señal no es llamada hasta que no se empice
        // la transmision y la señal se conecta antes de pedir la transmision.
-       return receiver.signal_frame_received();
+       return receiver->signal_frame_received();
 }
 
 } // namespace Server