summaryrefslogtreecommitdiff
path: root/src/connectionhandler.cpp
diff options
context:
space:
mode:
authorAaron Marks <nymacro@gmail.com>2005-07-18 11:47:00 +0000
committerAaron Marks <nymacro@gmail.com>2005-07-18 11:47:00 +0000
commit62395df8a674475cd7b277e964cc5512fa6e7576 (patch)
tree8e20148fc8990d2f012473e4a266440b24a8c2c9 /src/connectionhandler.cpp
parent98f41d64a9a1628dd132b356487415762b1409a8 (diff)
downloadmanaserv-62395df8a674475cd7b277e964cc5512fa6e7576.tar.gz
manaserv-62395df8a674475cd7b277e964cc5512fa6e7576.tar.bz2
manaserv-62395df8a674475cd7b277e964cc5512fa6e7576.tar.xz
manaserv-62395df8a674475cd7b277e964cc5512fa6e7576.zip
Updated server->client communications.
Diffstat (limited to 'src/connectionhandler.cpp')
-rw-r--r--src/connectionhandler.cpp27
1 files changed, 6 insertions, 21 deletions
diff --git a/src/connectionhandler.cpp b/src/connectionhandler.cpp
index d0a0d234..338913f8 100644
--- a/src/connectionhandler.cpp
+++ b/src/connectionhandler.cpp
@@ -135,8 +135,8 @@ ConnectionHandler::startListen(ListenThreadData *ltd)
LOG_ERROR("SDLNet_AddSocket: " << SDLNet_GetError())
}
else {
- NetComputer *comp = new NetComputer(this);
- clients[comp] = client;
+ NetComputer *comp = new NetComputer(this, client);
+ clients.push_back(comp);
computerConnected(comp);
LOG_INFO(clients.size() << " clients connected")
}
@@ -144,10 +144,10 @@ ConnectionHandler::startListen(ListenThreadData *ltd)
}
// Check client sockets
- std::map<NetComputer*, TCPsocket>::iterator i;
+ std::list<NetComputer*>::iterator i;
for (i = clients.begin(); i != clients.end(); ) {
- NetComputer *comp = (*i).first;
- TCPsocket s = (*i).second;
+ NetComputer *comp = *i;
+ TCPsocket s = (*i)->getSocket();
if (SDLNet_SocketReady(s)) {
char buffer[1024];
@@ -213,7 +213,7 @@ ConnectionHandler::startListen(ListenThreadData *ltd)
// Traverse to next client, possibly deleting current
if (comp == NULL) {
- std::map<NetComputer*, TCPsocket>::iterator ii = i;
+ std::list<NetComputer*>::iterator ii = i;
ii++;
clients.erase(i);
i = ii;
@@ -245,18 +245,3 @@ void ConnectionHandler::registerHandler(
{
handlers[msgId] = handler;
}
-
-void ConnectionHandler::sendPackets()
-{
- for (std::map<NetComputer*, TCPsocket>::iterator i = clients.begin();
- i != clients.end(); i++) {
- NetComputer *computer = i->first;
-
- while (computer->size() > 0) {
- // Send queued packet
- Packet *packet = computer->front();
- SDLNet_TCP_Send(i->second, packet->data, packet->length);
- delete packet;
- }
- }
-}