gpt4 book ai didi

c - Mongoose 嵌入式网络服务器

转载 作者:行者123 更新时间:2023-11-30 15:56:43 27 4
gpt4 key购买 nike

此代码取自 Mongoose 嵌入式 Web 服务器中的示例程序。

事件 MG_NEW_REQUEST 被调用两次。这是预期的行为吗?为什么它会处理同一个请求两次?您将如何防止这种情况发生?

int i =0;
static void *callback(enum mg_event event,
struct mg_connection *conn,
const struct mg_request_info *request_info)
{
if (event == MG_NEW_REQUEST)
{
i++;
printf("%d \n", i);

// Echo requested URI back to the client
mg_printf(conn, "HTTP/1.1 200 OK\r\n"
"Content-Type: text/html\r\n\r\n"
"%s", request_info->uri);
mg_printf(conn, "Hello World!!"
"%s", "");

//request_info->query_string
return const_cast<char *>("done"); // Mark as processed
}
else
{
return NULL;
}
}

int main(void) {
struct mg_context *ctx;
const char *options[] = {"listening_ports", "8080", NULL};

printf("Test web server, open browser to http://localhost:8080 ");
ctx = mg_start(&callback, NULL, options);
getchar(); // Wait until user hits "enter"
mg_stop(ctx);

return 0;
}

最佳答案

我假设浏览器实际上执行了两个请求。一个用于 URL /,另一个用于 /favicon.ico

关于c - Mongoose 嵌入式网络服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10988412/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com