Il s'agit d'un serveur HTTP 1.1 simplifié qui offre le support de la commande cliente GET uniquement. Il met en oeuvre les fonctions standards associées au 'socket' d'une manière, je l'espere, assez pédagogique.
Du point de vue de l'utilité, ce serveur http ne remplace pas un Apache, mais permet tout a fait d'herberger un site web sans script. Ce serveur est tres robuste aux tentatives d'attaque courament pratiquées sur Internet au niveau du port 80.
N'hesitez pas à me contacter si vous rencontrer des problemes avec de code source, chose que je ne vous souhaite pas bien sur !
Cordialement,
Xterminhate.
Source / Exemple :
Le code source est contenu dans le fichier zip.
Le code est fortement documenté (en anglais) .
Une documentation supplémentaire en html générée par Dowygen est également fournie.
Conclusion :
Auteur
------
Xterm-In'Hate ( xterminhate@wanadoo.fr )
N'hésitez pas à me contacter si vous rencontrez des problemes à la compilation/édition des liens ou à la configuration/éxecution.
Version
-------
v2.07
Fichiers
--------
Le code source du serveur Http est contenu dans les fichiers suivants :
x_HttpServer.h
x_HttpServer.cpp
Le code source du service Windows NT est contenu dans les fichiers suivants :
sdk_Service.h
sdk_Service.cpp
Le code source du programme principal pour Windows est contenu dans les fichiers suivants :
x_https.cpp
Le code source du programme principal pour Linux est contenu dans le fichier suivant :
x_httpd.cpp
Le fichier de configuration :
x_httpd_config.cfg
Description
-----------
Comment utiliser la classe x_HttpServer :
Instancier l'objet x_HttpServer et appeler la fonction membre x_HttpServer::Run(). L'execution de la fonction membre s'interrompe lorsque un signal SIGINT est positionné (CTRL+C ou Kill-9).
L'objet x_HttpServer necessite un fichier de configuration x_httpd_config.cfg. Ce fichier doit être placé dans le répertoire %WINDIR% (c:\windows par défaut) pour windows ou /etc/ pour linux.
Compilation
-----------
Sous Windows, precisez à l'éditeur des liens l'utilisation de la librairie WS2_32.LIB pour permettre l'accès aux fonctions socket.
Debug
-----
L'objet x_HttpServer crée un fichier de log. Si _DEBUG est défini alors l'objet x_HttpServer insère des messages de debug dans le fichier de log. Attention, dans le fichier x_HttpServer.cpp, une instruction désactive _DEBUG, n'oubliez pas de la mettre en commentaire le cas échéant.
Execution
---------
Le service s'installe, se démarre et s'arrète à l'aide des fichiers de commande (batch). Ces fichiers doivent être placé dans le même répertoire que l'executable.
Pas mal d'erreur ? la compilation.. toute on un rapport avec les "templates"
Premiere d'un longue s?rie (mais je pense les autres en d?coulent)
x_HttpServer.cpp:963: error: explicit specialization of "fUnconditionalSocketDisconnection<x_Socket>::fUnconditionalSocketDisconnection()" must be introduced by "template <>"
j'ai rajout? "template <>" devant, j'ai ensuite :
x_HttpServer.cpp:963: error: specialization of "fUnconditionalSocketDisconnection<x_Socket>::fUnconditionalSocketDisconnection() [with x_Socket = x_Socket]" after instantiation
x_HttpServer.cpp:963: error: invalid function declaration
Une id'e?
Mais je me rapelle qu'il y a moyen de configuré ( truquer )
un serveur apache pour sens servire de proxy ossi....
Bref vive Apache ;P
Merci,
Xterm-in'Hate.
Mais l'ajout de commentaire sur cette page plante lamentablement a chaque fois que je veux l'utiliser...
Au secours NIX fait kelk choz stp...
Comment puis-je te contacter pour ne pas gonfler tout le monde avec un post qui n'a rien a voir avec ton serveur http?
Je viens de relire mon source (le x_HttpServer.h dans la partie GNU/linux). Est-ce que au moins tu arrives à décoder les commentaires dans ce fichier ? Si c'est le cas, c'est deja pas mal.
Dans tous les cas, n'hésites pas à me contacter en private (xterminhate@wanadoo.fr) si tu veux des explications ciblées pour telle ou telle partie du source.
Sinon, Babelfish est ton ami : http://babelfish.altavista.com/.
Bon courage.
Cordialement,
xter.
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.