Main Page | Namespace List | Class Hierarchy | Compound List | File List | Compound Members | File Members

server.cpp

Go to the documentation of this file.
00001 #include "server.h"
00002 
00003 GameServer::GameServer () : netMessageChannel() {
00004   init_socket(SERVER_LISTEN_PORT);
00005 }
00006 
00007 GameServer::GameServer(int p) : netMessageChannel() {
00008   init_socket(p);
00009 }
00010 
00011 GameServer::~GameServer() {
00012   close();
00013 }
00014 
00015 void GameServer::handleMessage(const netMessage &msg) {
00016   fprintf(stderr, "got a msg from %i type %i\n", *msg.getFromID(), 
00017       *msg.getType());
00018 }
00019 
00020 bool GameServer::init_socket(int p) {
00021   if (!open(false))
00022     return false;
00023   setBlocking(false);
00024   if (bind(SERVER_BIND_ADDRESS, p) == -1)
00025     return false;
00026   return true;    
00027 }
00028 
00029 void GameServer::free_data() {
00030   userData* d;
00031   while (pre_connect.getNumNodes() > 0) {
00032     d = (userData*) removeNode(0);
00033     free(d);
00034   }
00035   while (connected.getNumNodes() > 0) {
00036     d = (userData*) removeNode(0);
00037     free(d);
00038   }
00039 }

Generated on Sat Jul 12 04:29:21 2003 for glPirates by doxygen 1.3.2