2009-12-07 4 views

Répondre

0

libcurl peut vous aider avec ceci. Voir "Cookies sans pépites de chocolat" here.

0

En supposant que votre code C++ fonctionne comme un gestionnaire CGI, il s'agit simplement de lire et d'écrire des cookies dans les requêtes et les réponses.

Si vos données de session sont petites (moins de 32 octets environ), vous pouvez les stocker dans le cookie.

Si vous avez besoin de stocker plus de données ou si vous souhaitez partager des sessions entre des serveurs, vous souhaiterez créer des ID uniques et aléatoires pour représenter vos sessions. Vous devriez alors prendre cet ID et rechercher les données de session réelles (en mémoire ou dans une base de données).

Tout ce que je l'ai écrit est le CGI de 1990 101.

Je suppose que dans C++ terre, il ressemblerait à ceci:

int main() { 

    map<string,string> headers = parseRequestHeaders(cin); 

    int64_t sessionId = 0; 
    SessionData *session = 0; 

    if (getSessionId(headers, &sessionId)) { 
     session = getSession(sessionId); 
    } 
    else { 
     session = newSession(); 
     sessionId = session->id(); 
     setCookie(sessionId); 
    } 

    // ... 
} 
Questions connexes