diff --git a/modules/ServerModule/src/ServerModule.h b/modules/ServerModule/src/ServerModule.h index 1b7d44f..ab8e208 100644 --- a/modules/ServerModule/src/ServerModule.h +++ b/modules/ServerModule/src/ServerModule.h @@ -39,6 +39,8 @@ class ServerModule : public Archimedes::Module { } + std::map getClients() const { return clients; } + void pollIncomingData(); private: diff --git a/modules/examples/ChatServer/src/ChatServer.cpp b/modules/examples/ChatServer/src/ChatServer.cpp index 4e14782..8e6c04d 100644 --- a/modules/examples/ChatServer/src/ChatServer.cpp +++ b/modules/examples/ChatServer/src/ChatServer.cpp @@ -28,9 +28,12 @@ bool ChatServer::onEvent(const Archimedes::Event& event) { std::cerr << "Server Recieved: " << s << std::endl; - static std::string res; res = "Server Recieved: " + s; - - sm->sendReliable(e.msg->m_conn, res.c_str(), res.length()); + for(auto& it : sm->getClients()) { + if(it.first != e.msg->m_conn) + sm->sendReliable(it.first, s.c_str(), s.length()); + else + sm->sendReliable(e.msg->m_conn, "\nMessage sent\n", strlen("\nMessage sent\n")); + } return true;