ServLib
Serveur hautes performances TCP Windows/Linux (Langage C)
[Public: Développeurs C]Présentation
ServLib est un serveur TCP qui s' occupe de la gestion de la couche TCP et des appels systèmes, donnant au programmeur l' opportunité de se concentrer sur les couches protocolaires supérieures.Le programeur s'appuie sur la couche apportée du serveur pour implémenter un protocole de plus haut niveau au sein des fonctions de rappel (callbacks), aussi simplement qu'en VB, mais avec des performances bien supérieures.
Ainsi on peut écrire un serveur HTTP/FTP/POP/SMTP/DNS/SSH... un serveur de jeu, de chat ... Avec un minimum de code, et un maximum de clarté.
Voir L' exemple de serveur echo
Points forts
- Facilité d'utilisation
- Couche d'abstraction qui facilite l'emploi
- Performances
- 0% CPU
- Pas de threads, 1 seul process.
- 1024 clients simultanés.
- pas de code superflux induit par la portabilité
- Flexibilité
- Tout type de serveur TCP est possible
- Portabilité
- portable windows/Linux
- Certaines macros assurent la transparence dans la portabilité du code et contrent les
différences entre les sockets Windows et les sockets BSD.
Sous linux:
- on peut utiliser closesocket() au lieu de close()
- on peut utiliser le type SOCKET
Installation
Pour installer servLib, extraire l' archive et lancer le script compil.sh sous linux, compil.bat sous Win/GCC. Pas besoin d' être root.Compilation de programmes
ServLib est une librairie statique. Après avoir inclus l' en-tête de la librairie dans votre programme, passer l' argument -lservLib au compilateur. Exemple :gcc -Wall serv.c -L./lib -lservLib -o serv |
Todo list
- Faire un fork lorsque la limite de 1024 clients est atteinte.
- int cbx_getNBCONNS(); devrait être un double.
- Voir comment la compilation de la lib se passe avec VC et Borland.
Auteurs
- Masta