2009-04-30 8 views
1

J'essaie d'utiliser la connexion keep-alive mongoose, mais il semble que mongoose ferme la connexion en premier.Comment garder le lien vivant sur le serveur Web mongoose

J'ai changé le embed.c pour renvoyer la connexion: keep-alive. La connexion est toujours fermée après la réponse.

[email protected]:~$ nc 127.0.0.1 9999 
GET /test_get_request_info HTTP/1.1 
Connection: keep-alive 

HTTP/1.1 200 OK 
Content-Type: text/plain 
Connection: keep-alive 

Method: [GET] 
URI: [/test_get_request_info] 
HTTP version: [1/1] 
HTTP header [Connection]: [keep-alive] 
Query string: [] 
POST data: [] 
Remote IP: [2130706433] 
Remote port: [56719] 
Remote user: []   <-----------------connection closed, nc returns 
[email protected]:~$ 
+0

Pour des questions spécialisées comme celles-ci, il est peut-être préférable de poster des messages sur le groupe de support Mongoose à l'adresse http://groups.google.com/group/mongoose-users/topics. –

Répondre

6

Actuellement, il est impossible de faire sans changer le code de Mongoose. Vous pouvez essayer de faire un tour, en fonction analyze_request(), définissez l'indicateur de keep-alive:

} else if ((cb = find_callback(conn->ctx, FALSE, uri, -1)) != NULL) { 
     if ((strcmp(ri->request_method, "POST") != 0 && 
      strcmp(ri->request_method, "PUT") != 0) || 
      handle_request_body(conn, -1)) { 
       cb->func(conn, &conn->request_info, cb->user_data); 
       conn->keep_alive = TRUE; // ADD THIS LINE 
      } 

Il doit y avoir un meilleur mécanisme de le faire à partir du rappel, cependant.

Questions connexes