[SFML 2.0] Dołączanie do czatu podczas jego działania.
Ostatnio zmodyfikowano 2013-08-27 21:51
ShockwaverPL Temat założony przez niniejszego użytkownika |
[SFML 2.0] Dołączanie do czatu podczas jego działania. » 2013-08-27 20:11:08 Witam. Uczę sie programować w c++ SFML 2.0 i napotkałem problem przy użyciu sfml_network. Zrobiłem prosty czat i serwer dopiero odpala pętle while, gdy połączy się z oboma klientami. Moje pytanie brzmi czy można zrobić, aby można było dołączyć do serwera podczas jego działania? Czyli żeby działał zanim się połączy z nim jakiś klient, i żeby klient mógł się połączyć w każdej chwili.
Z góry dziękuję za odpowiedź.
|
|
RazzorFlame |
» 2013-08-27 21:02:46 Wszystko sie da tylko trzeba pomyśleć... Zrób sobie klase serwera która posiada vector z WSKAŹNIKAMI na DYNAMICZNIE utworzone połączenia (clienty) a później je dołącza w pętli. Np tak (zakładając że klasa ClientConnection ma odpowiednie zaimplementowane funkcje): class Server { public: std::vector < ClientConnection *> m_Clients; void addClient( ClientConnection * con ) { m_Clients.push_back( con ); } };
sf::TcpListener listener;
while(...) { ClientConnection * con = new ClientConnection; sf::Socket::Status state = listener.accept( con->getConnection() ); if( state == sf::Socket::Done ) { server.addClient( con ); } else { delete con; } }
|
|
ShockwaverPL Temat założony przez niniejszego użytkownika |
» 2013-08-27 21:51:24 Bardzo ci dziękuję. Wszystko ładnie chodzi i nie było żadnych problemów. Po prostu nie pomyślał bym o tym ponieważ dopiero zaczynam programowanie. Wielkie dzięki :). |
|
« 1 » |