轉自:http://name5566.com/4202.html
?
參考文獻列表:
http://www.wangafu.net/~nickm/libevent-book/
此文編寫的時候,使用到的 Libevent 為 2.0.21
常用基本數據類型
- evutil_socket_t 用于保存 socket
- ev_uint64_t 取值范圍 [0, EV_UINT64_MAX]
- ev_int64_t 取值范圍 [EV_INT64_MIN, EV_INT64_MAX]
- ev_uint32_t 取值范圍 [0, EV_UINT32_MAX]
- ev_int32_t 取值范圍 [EV_INT32_MIN, EV_INT32_MAX]
- ev_uint16_t 取值范圍 [0, EV_UINT16_MAX]
- ev_int16_t 取值范圍 [EV_INT16_MIN, EV_INT16_MAX]
- ev_uint8_t 取值范圍 [0, EV_UINT8_MAX]
- ev_int8_t 取值范圍 [EV_INT8_MIN, EV_INT8_MAX]
- ev_ssize_type(signed size_t)取值范圍 [EV_SSIZE_MIN, EV_SSIZE_MAX]
時間相關
- // 用于加或者減前兩個參數,結果被保存在第三個參數中
- #define evutil_timeradd ( tvp , uvp , vvp ) /* ... */
- #define evutil_timersub ( tvp , uvp , vvp ) /* ... */
- ?
- // 清除 timeval 將其值設置為 0
- #define evutil_timerclear ( tvp ) /* ... */
- // 判斷 timeval 是否為 0,如果是 0 返回 false,否則返回 true
- #define evutil_timerisset ( tvp ) /* ... */
- ?
- // 比較兩個 timeval
- // 使用的時候這樣用:
- // evutil_timercmp(t1, t2, <=) 含義為判斷 t1 <= t2 是否成立
- // cmp 為所有的 C 關系操作符
- #define evutil_timercmp ( tvp , uvp , cmp )
- ?
- // 獲取當前時間并保存到 tv
- // tz 目前無用
- int evutil_gettimeofday ( struct timeval * tv , struct timezone * tz );
Socket API
- // 用于關閉一個 socket
- int evutil_closesocket ( evutil_socket_t s );
- #define EVUTIL_CLOSESOCKET ( s ) evutil_closesocket ( s )
- ?
- // 返回當前線程的最后一次 socket 操作的錯誤碼
- #define EVUTIL_SOCKET_ERROR ()
- // 改變當前 socket 的錯誤碼
- #define EVUTIL_SET_SOCKET_ERROR ( errcode )
- // 返回特定的 sock 的錯誤碼
- #define evutil_socket_geterror ( sock )
- // 通過 socket 錯誤碼獲取到一個字符串描述
- #define evutil_socket_error_to_string ( errcode )
- ?
- // 設置 sock 為非阻塞的 socket
- int evutil_make_socket_nonblocking ( evutil_socket_t sock );
- ?
- // 設置 sock 的地址可重用
- int evutil_make_listen_socket_reuseable ( evutil_socket_t sock );
字符串相關
- // 它們對應于標準的 snprintf 和 vsnprintf
- int evutil_snprintf ( char * buf , size_t buflen , const char * format , ...);
- int evutil_vsnprintf ( char * buf , size_t buflen , const char * format , va_list ap );
安全的隨機數生成
- // 此函數將使用隨機的數據填充 n 個字節的 buf
- void evutil_secure_rng_get_bytes ( void * buf , size_t n );
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
