diff --git a/src/networkpluginserver.cpp b/src/networkpluginserver.cpp index 0b61c89b6a13af58442f57a0f72d9b4ebc4e20ec..79717f8582d896bd749b33d722ee30d48c1d9239 100644 --- a/src/networkpluginserver.cpp +++ b/src/networkpluginserver.cpp @@ -39,7 +39,7 @@ #include "Swiften/Elements/AttentionPayload.h" #include "Swiften/Elements/XHTMLIMPayload.h" #include "Swiften/Elements/InvisiblePayload.h" -#include "pbnetwork.pb.h" +#include "transport/protocol.pb.h" #include "log4cxx/logger.h" #include @@ -330,6 +330,13 @@ void NetworkPluginServer::handleSessionFinished(Backend *c) { (*it)->handleDisconnected("Internal Server Error, please reconnect."); } + std::string message; + pbnetwork::WrapperMessage wrap; + wrap.set_type(pbnetwork::WrapperMessage_Type_TYPE_EXIT); + wrap.SerializeToString(&message); + + send(c->connection, message); + c->connection->onDisconnected.disconnect_all_slots(); c->connection->onDataRead.disconnect_all_slots(); c->connection->disconnect();