Rückerzeugung von Handler auf dem Mongoose-Server erneut abrufenC++

Programme in C++. Entwicklerforum
Anonymous
 Rückerzeugung von Handler auf dem Mongoose-Server erneut abrufen

Post by Anonymous »

Ich verwende Mongoose LIB Version 5.6.1, um einen Testserver zu implementieren. In Unit -Tests sendet der Client genau 4 verschiedene Anforderungen an diesen Server (der Server antwortet nicht so, wie er sein sollte). Einzelläufe des Testpasses. Wenn der Test jedoch in einer Schleife ausgeführt wird, werden bei ca. 150-170 die Server-Aufzeichnungen 5 Anforderungen vom Client ausgeführt. Die Analyse ergab, dass die zusätzliche Anfrage eine Wiederholung eines der Anforderungen des Clients ist (eine der 4).

Code: Select all

auto server = mg_create_server(this, _server_handler, 0);
mg_set_option(server, "listening_port", std::to_string(port).c_str());
while (!_stop_server /* атомарная переменная */) {
mg_poll_server(server, 500);
}
mg_destroy_server(&server);
< /code>
Der Handler sieht so aus: < /p>
static int _server_handler(mg_connection * conn, mg_event ev) {
auto owner = static_cast(conn->server_param);
switch (ev) {
case MG_REQUEST:
mg_send_status(conn, 200);
if (!std::strcmp(conn->uri, "/api/push"))
owner->_api_push(conn);
return MG_TRUE;
case MG_AUTH:
return MG_TRUE;
default:
return MG_FALSE;
}
}
Kann jemand erklären, warum dies passiert und wie es behoben wird?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post