日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Libevent(3)— 基礎庫

系統 2070 0

轉自:http://name5566.com/4202.html

?

參考文獻列表:
http://www.wangafu.net/~nickm/libevent-book/

此文編寫的時候,使用到的 Libevent 為 2.0.21

常用基本數據類型

  1. evutil_socket_t 用于保存 socket
  2. ev_uint64_t 取值范圍 [0, EV_UINT64_MAX]
  3. ev_int64_t 取值范圍 [EV_INT64_MIN, EV_INT64_MAX]
  4. ev_uint32_t 取值范圍 [0, EV_UINT32_MAX]
  5. ev_int32_t 取值范圍 [EV_INT32_MIN, EV_INT32_MAX]
  6. ev_uint16_t 取值范圍 [0, EV_UINT16_MAX]
  7. ev_int16_t 取值范圍 [EV_INT16_MIN, EV_INT16_MAX]
  8. ev_uint8_t 取值范圍 [0, EV_UINT8_MAX]
  9. ev_int8_t 取值范圍 [EV_INT8_MIN, EV_INT8_MAX]
  10. ev_ssize_type(signed size_t)取值范圍 [EV_SSIZE_MIN, EV_SSIZE_MAX]

時間相關

  1. // 用于加或者減前兩個參數,結果被保存在第三個參數中
  2. #define evutil_timeradd ( tvp , uvp , vvp ) /* ... */
  3. #define evutil_timersub ( tvp , uvp , vvp ) /* ... */
  4. ?
  5. // 清除 timeval 將其值設置為 0
  6. #define evutil_timerclear ( tvp ) /* ... */
  7. // 判斷 timeval 是否為 0,如果是 0 返回 false,否則返回 true
  8. #define evutil_timerisset ( tvp ) /* ... */
  9. ?
  10. // 比較兩個 timeval
  11. // 使用的時候這樣用:
  12. // evutil_timercmp(t1, t2, <=) 含義為判斷 t1 <= t2 是否成立
  13. // cmp 為所有的 C 關系操作符
  14. #define evutil_timercmp ( tvp , uvp , cmp )
  15. ?
  16. // 獲取當前時間并保存到 tv
  17. // tz 目前無用
  18. int evutil_gettimeofday ( struct timeval * tv , struct timezone * tz );

Socket API

  1. // 用于關閉一個 socket
  2. int evutil_closesocket ( evutil_socket_t s );
  3. #define EVUTIL_CLOSESOCKET ( s ) evutil_closesocket ( s )
  4. ?
  5. // 返回當前線程的最后一次 socket 操作的錯誤碼
  6. #define EVUTIL_SOCKET_ERROR ()
  7. // 改變當前 socket 的錯誤碼
  8. #define EVUTIL_SET_SOCKET_ERROR ( errcode )
  9. // 返回特定的 sock 的錯誤碼
  10. #define evutil_socket_geterror ( sock )
  11. // 通過 socket 錯誤碼獲取到一個字符串描述
  12. #define evutil_socket_error_to_string ( errcode )
  13. ?
  14. // 設置 sock 為非阻塞的 socket
  15. int evutil_make_socket_nonblocking ( evutil_socket_t sock );
  16. ?
  17. // 設置 sock 的地址可重用
  18. int evutil_make_listen_socket_reuseable ( evutil_socket_t sock );

字符串相關

  1. // 它們對應于標準的 snprintf 和 vsnprintf
  2. int evutil_snprintf ( char * buf , size_t buflen , const char * format , ...);
  3. int evutil_vsnprintf ( char * buf , size_t buflen , const char * format , va_list ap );

安全的隨機數生成

    1. // 此函數將使用隨機的數據填充 n 個字節的 buf
    2. void evutil_secure_rng_get_bytes ( void * buf , size_t n );

Libevent(3)— 基礎庫


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 雅安市| 灵川县| 呼伦贝尔市| 台北市| 迁安市| 水城县| 剑河县| 涞源县| 衡水市| 从化市| 青河县| 双鸭山市| 苍南县| 渝中区| 衡南县| 兴文县| 泗阳县| 集安市| 高邑县| 曲周县| 辉南县| 金湖县| 高邑县| 迁西县| 江油市| 林芝县| 石楼县| 上思县| 普定县| 镇沅| 石楼县| 柏乡县| 邻水| 杨浦区| 大邑县| 玉田县| 城口县| 中山市| 榆中县| 嘉祥县| 阿克|