What am I doing wrong?

This commit is contained in:
Kayne Ruse
2013-05-04 01:48:31 +10:00
parent 96f0821d9b
commit f0e7550b7d
4 changed files with 36 additions and 15 deletions
+9 -1
View File
@@ -10,6 +10,7 @@ using namespace std;
Server::Server() {
running = true;
config.Load("config.cfg");
}
Server::~Server() {
@@ -20,7 +21,7 @@ void Server::Init() {
if (SDLNet_Init()) {
throw(runtime_error("Failed to init SDL_net"));
}
netMgr.Init(100);
netMgr.Init(config.Integer("port"), config.Integer("maxplayers"));
}
void Server::Proc() {
@@ -28,6 +29,9 @@ void Server::Proc() {
HandleInput();
UpdateWorld();
HandleOutput();
//debug
running = false;
}
}
@@ -38,7 +42,11 @@ void Server::Quit() {
void Server::HandleInput() {
//accept new connections
netMgr.AcceptConnections();
//accept updates from the clients
netMgr.CheckSockets();
//read the updates from the clients into internal containers
//...
}
void Server::UpdateWorld() {
+2
View File
@@ -2,6 +2,7 @@
#define SERVER_HPP_
#include "tcp_network_manager.hpp"
#include "config_utility.hpp"
class Server {
public:
@@ -18,6 +19,7 @@ public:
private:
bool running;
TCPNetworkManager netMgr;
ConfigUtility config;
};
#endif
+19 -7
View File
@@ -1,22 +1,34 @@
#include "tcp_network_manager.hpp"
#include <stdexcept>
TCPNetworkManager::TCPNetworkManager() {
maxConnections = currentConnections = 0;
//
}
TCPNetworkManager::~TCPNetworkManager() {
//
}
void TCPNetworkManager::Init(int maxConnections) {
//
void TCPNetworkManager::Init(Uint16 port, int maxSockets) {
IPaddress add;
if (SDLNet_ResolveHost(&add, nullptr, port)) {
throw(std::runtime_error("Failed to resolve the host"));
}
if (!(sock = SDLNet_TCP_Open(&add))) {
throw(std::runtime_error("Failed to create the server socket"));
}
if (!(clientSocks = SDLNet_AllocSocketSet(maxSockets))) {
throw(std::runtime_error("Failed to allocate the socket set"));
}
}
void TCPNetworkManager::Quit() {
//
SDLNet_FreeSocketSet(clientSocks);
SDLNet_TCP_Close(sock);
}
int TCPNetworkManager::AcceptConnection() {
int TCPNetworkManager::AcceptConnections() {
//
}
@@ -44,10 +56,10 @@ int TCPNetworkManager::CloseSocket(int index) {
//
}
int TCPNetworkManager::GetMaxConnections() {
int TCPNetworkManager::GetMaxConnections() const {
//
}
int TCPNetworkManager::GetCurrentConnections() {
int TCPNetworkManager::GetCurrentConnections() const {
//
}
+6 -7
View File
@@ -8,10 +8,10 @@ public:
TCPNetworkManager();
~TCPNetworkManager();
void Init(int maxConnections);
void Init(Uint16 port, int maxSockets);
void Quit();
int AcceptConnection();
int AcceptConnections();
int CheckSockets();
int Send(int index, const void* data, int len);
@@ -21,12 +21,11 @@ public:
TCPsocket GetSocket(int index);
int CloseSocket(int index);
int GetMaxConnections();
int GetCurrentConnections();
int GetMaxConnections() const;
int GetCurrentConnections() const;
private:
TCPsocket serverSocket;
SDLNet_SocketSet socketSet;
int maxConnections, currentConnections;
TCPsocket sock;
SDLNet_SocketSet clientSocks;
};
#endif