cost 414 ms
事件庫(libevent/libuv/...)和異步I/O(libaio、liburing)的本質區別是什么?

[英]What is the essential difference between event library (libevent/libuv/...) and async I/O (libaio, liburing)?

對於高性能I/O,經常會用到一些技巧: poll/select/epoll/kqueue:都是同類型的支持I/O多路復用的系統調用。 libevent/libev/libuv:它們是跨平台的。 我認為他們包裝了上面的系統調用,最終實現了事件驅動。 libaio/libeio/liburing ...

無法使用 CMake 使用 libevent 庫編譯代碼

[英]Can't compile code with libevent library using CMake

我在 VS Code 中使用 CMake 使用 libevent 構建項目。 我將它添加到項目中 並將 -levent 標志傳遞給 linker 如果我在代碼中不使用任何函數,它編譯時不會出錯,但如果我使用一些函數,它會失敗並出現錯誤 我發現問題可能出在標志順序上,但我不知道如何在 cmake 中更 ...

如何通過 libevent 接收所有消息

[英]how can I receive all message by libevent

目前,我使用libevent來發送和接收消息。 我目前遇到的問題是我沒有收到服務器上的所有消息; 並且只收到我發送的第一條消息。 客戶代碼: 服務器代碼: 我已經像這樣修改了客戶端: 當我添加sleep(1)時,我可以接收所有消息。 我想避免使用sleep(1) 。 需要在代碼中添加 ...

event_base_loop 和 event_base_dispatch 線程安全嗎?

[英]Are event_base_loop and event_base_dispatch thread safe?

event_base_loop() (發布者線程)和event_base_dispatch() (訂閱者線程)函數線程安全嗎? 最近,我使用valgrind's helgrind工具檢查了我的應用程序是否存在任何同步錯誤。 在報告中提到event_base_loop()和event_base_d ...

Libevent - 運行循環(event_base_loop)

[英]Libevent - Running the loop(event_base_loop)

請告訴我,這是 Nick Mathewson關於 Liebevent 的書的參考第 3 節(“ 運行事件循環”)的引述: 默認情況下,event_base_loop() function 會運行 event_base,直到其中沒有更多事件注冊。 老實說,我只是無法理解這句話。 什么意思 - “直到 ...

2021-12-21 08:18:45   1   35    c / libevent  
libevent中基於套接字的bufferevent不需要bufferevent_flush嗎?

[英]Is bufferevent_flush not necessary for a socket-based bufferevent in libevent?

從libevent 的文檔中: 目前(從 Libevent 2.0.5-beta 開始), bufferevent_flush()僅針對某些 bufferevent 類型實現。 特別是,基於套接字的緩沖區事件沒有它。 我測試了以下代碼: 請注意,我注釋掉了最后一行::bufferevent_flu ...

libevent中延遲回調的目的是什么?

[英]What's the purpose of deferred callbacks in libevent?

根據libevent 書: 延遲回調默認情況下,當相應條件發生時,會立即執行 bufferevent 回調。 (對於 evbuffer 回調也是如此;我們稍后會談到這些。)當依賴關系變得復雜時,這種立即調用可能會帶來麻煩。 例如,假設有一個回調在 evbuffer A 變空時將數據移動到它,而另 ...

Hiredis 發布者僅在 while 循環中發送第一條消息

[英]Hiredis publisher only sending first message in a while loop

我對 Hiredis/Redis 很陌生,無法在一段時間循環中為 Pub/Sub 架構創建工作發布者。 我成功地創建了一個只觸發一條消息的發布者,然后退出。 但我試圖讓發布者定期發送消息。 這是我的出版商:#include <signal.h> #include <iostream ...

服務器端意外的套接字關閉

[英]unexpected socket closure on server side

我正在運行一個基於 libevent 的示例服務器,但是,有時,根據 wireshark 捕獲,該服務器會在 TCP 握手后立即發送 TCP FIN。 服務器沒有崩潰。 操作系統是 ubuntu 18.04,終端的ulimit -n是 100000。知道為什么嗎? ...

將構建的 libevent 作為 static 庫鏈接時出現 Linker 錯誤,但在作為共享庫鏈接時有效

[英]Linker errors when linking a built libevent as a static library, but works when linking as a shared library

我使用 GCC 編譯器(在 Linux 上)從源代碼構建了 libevent 庫作為 static 庫。 Cmake 選項: CMakeLists.txt 中的鏈接庫: 但我仍然收到這樣的錯誤: 我還嘗試將 libevent 構建為共享庫(.so output 文件)並且鏈接良好。 在 CMak ...

如何提高 libevent bufferevent_write 性能

[英]How to improve libevent bufferevent_write performance

對於我的測試用例,僅通過bufferevent_write發送“00”消息。 案例1:20000個tcp連接,每10s發送一個“00”,耗時0.15s。 案例2:只有1個tcp連接,每10s發送“00”20000次,耗時0.015s。 請給我一些建議以提高bufferevent_write性能。 我 ...

我需要在 fork() 之前 evconnlistener_disable() 嗎?

[英]Do I need to evconnlistener_disable() before fork()?

我現在正在使用 libevent 開發服務器應用程序。 服務器有時需要執行一些外部命令(即fork()然后exec() )。 我擔心的是,在fork()之后,父母和孩子可能都在有效地傾聽,並且孩子可能有機會在exec()之前“接受”一個新的傳入連接,這可能會導致父母(服務器應用程序)丟失傳入請求。 ...

MQ(RabbitMQ,ActiveMQ...) 和網絡庫(ACE, Asio, libevent...) 有什么區別?

[英]What's the difference between MQ(RabbitMQ,ActiveMQ…) and network library(ACE, Asio, libevent…)?

目前,我們計划升級我們的產品以使用 MQ(RabbitMQ 或 ActiveMQ)在服務器和客戶端之間進行消息傳輸。 現在我們正在使用網絡 lib(evpp) 來執行此操作。 因為之前沒用過MQ,所以除了MQ的很多新特性,我也搞不清它們的本質區別,也不知道具體什么時候、什么地方用MQ還是只用網絡庫 ...

recv() 不觸發 libevent

[英]recv() not triggering with libevent

我正在嘗試通過其管理套接字連接到本地 openvpn 客戶端並查詢其狀態。 我已經在 libevent 支持下實現了以下程序。 問題是未觸發讀取回調“cb_func_read”。 我的期望是,在我從 cb_func_write() 向 vpn 發送“狀態”消息后,會發回一些應該觸發讀取回調的數據, ...

libevent 是否允許在不同的線程中運行定時器/io 的回調?

[英]Does libevent allow to run callback for timer/io in a different thread?

由於某些應用程序原因,我需要在不同的線程中為計時器/io 事件運行回調。 例子: libevent 使用這種方法是否合法? 注意:似乎在 Macos 和 iOS 上一切正常,但在 Android 上,我的測試應用程序無故關閉。 ...

2019-11-06 06:40:29   1   176    c++ / c / libevent  
如何將參數傳遞給使用libevent創建的事件函數?

[英]How to pass arguments to an event function created using libevent?

我目前正在嘗試使用libevent每n分鍾調用一次函數/一個將觸發該函數的事件觸發器,並建議可以使用libevent。 我可以使用它每n秒持久調用一次函數,但是無法確定如何將參數傳遞給它們。 ...

2019-09-07 06:41:24   1   54    c / libevent  
使用Mingw構建libevhtp

[英]Building libevhtp using Mingw

我正在使用mingw在Windows上構建libevhtp,我已經使用cmake和mingw生成了Makefile。 調用“ make”時出現錯誤- 這是給出錯誤的log.c。 我已經檢查了mingw並且不包含arpa / inet.h,並且安裝程序沒有提供任何提供arpa / in ...

CMake 在 macOS 上找不到 libevent

[英]CMake can't find libevent on macOS

我已經在 macOS 上安裝了 libevent - 我正在嘗試將它導入我的 CMakeLists.txt - 我收到以下 CMake 錯誤 - 有人可以告訴如何在CMake中導入系統中安裝的libevent嗎? ...

需要關於使用 libevent 動態更改計時器事件的建議

[英]Need suggestion on dynamically changing timer event with libevent

我目前在我的 cpp (C++11) 程序中使用 libevent-2.0.5 來設置計時器事件。 代碼邏輯如下: 所以回調函數將每 1 秒執行一次。 現在我的問題是,如何動態更改間隔? 例如,假設有另一個線程向此計時器回調發送信號(不知道何時),例如設置一個 bool flag 。 我想 ...

2019-05-17 06:54:22   2   429    c++ / libevent  

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM