Я хочу реализовать многопоточность на сервере Libsoup, так что каждый раз, когда клиентский запрос приходит, будет создан новый поток для обслуживания этого запроса. Как я могу реализовать это, используя библиотеки Libsoup и GLib?Как реализовать многопоточность на сервере Libsoup?
Мой текущий сервер основной код выглядит так:
sending_file = fopen("abc/project_foo.zip", "r");
fseek(sending_file, 0L, SEEK_END);
size_of_file = ftell(sending_file);
fseek(sending_file, 0L, SEEK_SET);
int port = 15000;
server = soup_server_new(SOUP_SERVER_RAW_PATHS,TRUE,SOUP_SERVER_PORT,port, SOUP_SERVER_SERVER_HEADER,"simple-httpd",NULL);
soup_server_add_handler(server , "/foo" , server_callback, NULL , NULL);
soup_server_run_async (server);
printf("Waiting for Requests...\n");
//Running a main loop so Async will work
GMainLoop *loop;
loop = g_main_loop_new (NULL, TRUE);
g_main_loop_run (loop);
return 0;
Просьба поделиться любыми подходами, которые вы пробовали до сих пор. – ndmeiri
Я добавил свой главный код функции –