Serveur multithread [linux/win]

Description

Voici un "policy server" pour les applications flash, c'est un bon exemple pour montrer le fonctionnement de ma classe serveur.
Si vous avez des soucis / remarques / corrections n'hésitez pas a commenter :)

Source / Exemple :


/*

  • Voici une doc rapide:
  • Le constructeur du serveur:
  • /
Server<MaClass héritée de ServerClient>(); (on peut choisir le port et l'host dans le constructeur Server<X>(host, port)) bool setPort(int port); bool setAddress(const char *addr); //setPort & setAddress sont a utiliser avant l'initialisation du serveur. bool init(); //initialise le serveur, return true en cas de succès, false si erreur. bool start(); //start le serveur //J'ai pas encore dev le stop, donc les clients ne sont pas suppr du tableau de clients lorsqu'on l'appelle. bool kickClient(unsigned int cid); //kick le client a l'id cid /**
  • Pour la classe ServerClient:
    • /
virtual bool accept(SOCKADDR_IN sin); //retourner true si la connexion avec le client est acceptée. Cette fonction n'est pas executée dans le thread du client. virtual bool startListening(); // Fonction executée dans le thread. lorsque cette fonction s&#8217;arrête le thread meurt et le client se déconnecte. //propriétés: unsigned int id; //id du client Socket *sock; //classe du socket client Server *pServer; //pointeur vers la classe du serveur //Il faut aussi dev une meilleur gestion des id clients, puisque pour l'instant c'est vite fait a coup de +1, mais bon on a le temps avant de faire le tour de l'unsigned int. /**
  • Pour la classe Socket:
    • /
int Recv(char * buff, int size, int flag = 0); int Send(const char *txt, int size); char *getIp();

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.