IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

impl�mentation d'un serveur HTTP


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �m�rite Avatar de J�r�my Lefevre
    Homme Profil pro
    D�veloppeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : Luxembourg

    Informations professionnelles :
    Activit� : D�veloppeur Java
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Par d�faut impl�mentation d'un serveur HTTP
    Bonjour � tous,
    Je souhaite faire un petit serveur http basic avec le moins d'options possible.
    Malheureusement sur le net je n'ai pas trouv� enorm�ment de ressources ni de library permettant d'impl�menter un tel serveur.

    j'ai souvi un tuto que j'ai trouv� sur ce site de serveur multithread :
    http://khayyam.developpez.com/articl.../multithreads/

    le serveur �coute bien sur l'adresse ip de la machine sur le port 12345 mais comment est ce que je peux renvoyer une r�ponse sur mon naviguateur!

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    DWORD serveur::ClientThread(SOCKET soc)
    {
        cout << "thread client démarré" << endl;
     
        /*    A mettre ici : code relatif au protocole utilisé    */
     
        return 0;
    }
    merci d'avance J�r�my

  2. #2
    R�dacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de syst�me d�information
    Inscrit en
    Janvier 2004
    Messages
    10 371
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Architecte de syst�me d�information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 371
    Par d�faut
    Bien le bonjour,

    le protocole http stipule que le client envoie tout d'abord sa requ�te puis attend la r�ponse. il faut donc d'abord faire un recv dans le serveur pour analyser ce que le client a demand�, puis envoyer au client la page avec un send.
    Le recv et le send se font sur la m�me socket, que tu as en param�tre dans la fonction.

  3. #3
    Membre �prouv�
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    125
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 125
    Par d�faut
    regardes cette doc

    http://www.iprelax.fr/http/

    sinon si tu veux le document de reference pour le http
    tapes sur google "rfc http"

  4. #4
    Expert confirm�
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    D�cembre 2003
    Messages
    3 549
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 3 549
    Par d�faut
    DWORD et SOCKET sont des types sp�cifiques � Windows.

    Sinon pour ton truc il faut que tu commences par lire la requ�te.
    En HTTP, tu as deux parties : les ent�tes et le corps. Les ent�tes se lisent ligne par ligne jusqu'� une ligne vide qui indique leur fin.
    Les ent�tes te fournissent alors la taille du corps, ou alors cette taille t'est indiqu�e au milieu du corps lui-m�me par morceaux (Transfer-Encoding: chunked).

    Une fois que tu as lu tout �a, tu r�alises une r�ponse (avec ent�tes et corps) en fonction de ce qu'on t'a envoy�.

  5. #5
    Membre �m�rite Avatar de J�r�my Lefevre
    Homme Profil pro
    D�veloppeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : Luxembourg

    Informations professionnelles :
    Activit� : D�veloppeur Java
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Par d�faut
    Ok merci a tous pour ces reponses! je recois bien les message mais je n'arrive pas a envoyer une reponse avec send! il s'agit sans doute d'un probleme de formatage de la r�ponse!

  6. #6
    Membre �m�rite Avatar de J�r�my Lefevre
    Homme Profil pro
    D�veloppeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : Luxembourg

    Informations professionnelles :
    Activit� : D�veloppeur Java
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Par d�faut
    il s'agissait bien d'un probleme de formatage de la reponse merci � tous
    jeremy

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Sockets SSL ( serveur HTTPS )
    Par hexadecime dans le forum R�seau/Web
    R�ponses: 4
    Dernier message: 19/10/2007, 18h02
  2. [C++] Serveur HTTP
    Par taron dans le forum C++
    R�ponses: 1
    Dernier message: 12/01/2006, 00h44
  3. Tester un serveur HTTP et un FTP
    Par fmcvieira dans le forum VB 6 et ant�rieur
    R�ponses: 2
    Dernier message: 29/11/2005, 21h51
  4. [Net] Creation serveur HTTP en C++
    Par Yannos94 dans le forum C++
    R�ponses: 13
    Dernier message: 14/11/2005, 12h05
  5. [Réseau] Headers vers un serveur http
    Par gexti dans le forum Entr�e/Sortie
    R�ponses: 5
    Dernier message: 04/05/2004, 14h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo