All pastes #256654 Raw Edit

Someone

public cpp v1 · immutable
#256654 ·published 2006-11-24 14:07 UTC
rendered paste body
#include "server.h"#include <iostream>#include <SDL/SDL.h>using namespace std;Server::Server() {	running = true;	SDL_Init(0);	SDLNet_Init();	SDLNet_ResolveHost(&ip, NULL, 9999)	sserver = SDLNet_TCP_Open(&ip);	sset = SDLNet_AllocSocketSet(MAX_CLIENTS);	for (int i=0; i<MAX_CLIENTS; i++) {		sclients[i] = NULL;	}}Server::~Server() {	SDLNet_FreeSocketSet(sset);	sset = NULL;	SDL_Quit();	SDLNet_Quit();}void Server::Start() {	while (running) {		// Check for client connections		while ((new_client = SDLNet_TCP_Accept(server)) != NULL) {			for (int i=0; i<MAX_CLIENTS; i++) {				if (sclients[i] == NULL) {					sclients[i] = new_client;					SDLNet_AddSocket(sset, sclients[i]);					break;				}			}		}		// Check for activity		if (SDLNet_CheckSockets(sset, 0) > 0) {			for (int i=0; i<MAX_CLIENTS; i++) {				if (sclient[i] != NULL && SDLNet_SocketReady(sclient[i])) {					Handle(i);				}			}		}	}}void Server::Handle(int id) {	string packetdata;	TCPsock client = sclient[i]	if (SDLNet_TCP_Recv(client, packetdata, MAX_PACKETLEN) <= 0) {		// Client disconnected		sclient[i] = NULL;        SDLNet_TCP_DelSocket(sset, sclient[i]);	}	else {		// Handle data	}}void Server::Send(int id, string data) {	if (SDLNet_TCP_Send(sclient[i], data, data.size()) < data.size()) {		// Client disconnected		sclient[i] = NULL;        SDLNet_TCP_DelSocket(sset, sclient[i]);	}}