Я хочу создать систему, как показано ниже:
Клиент будет отправлять запросы на сервер.
Сервер получает запросы и загружает файл запроса из облака асинхронно . Это означает, что сервер будет просто получать запросы, а затем загружать эти запросы какой-либо библиотекой.
Библиотека уведомит сервер, когда загрузка будет завершена, затем сервер уведомит клиента о завершении загрузки.
Есть ли такая библиотека в linux c? curl_multi_* не блокирует, поэтому мне нужно каждый раз опрашивать curl_multi_perform, поэтому для меня это не идеальная асинхронная библиотека. спасибо
Есть много доступных вариантов. Если вы готовы писать низкоуровневый код и контролировать каждый аспект связи и протокола, то один из них — libuv . Согласно их описанию, особенности:
Кроме того, вы можете посмотреть на libevent . Список функций в основном дублирует libuv.
Однако, если вы не ограничены языком программирования C, я бы порекомендовал вам попробовать gRPC . Он прост в использовании и абстрагирует многие подверженные ошибкам места в вашем коде.
code_worker
тисонит