日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网络与服务器编程框架库 acl_3.0.12 发布

發(fā)布時間:2025/3/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络与服务器编程框架库 acl_3.0.12 发布 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標準>>>

acl 3.0.12 版本 (項目主頁:https://sourceforge.net/projects/acl/, ?技術文章主頁:http://zsxxsz.ietye.com/) 發(fā)布了,acl 是 one Advanced C/C++ library 的簡稱,主要包括網(wǎng)絡通信庫以及服務器框架庫等功能,支持 Linux/Windows 平臺;整個 acl 項目主要包含三個函數(shù)庫:lib_acl(純C開發(fā)的最基礎庫,主要包含網(wǎng)絡通信及服務器編程框架以及其它豐富的功能)、lib_protocol(包含 HTTP/PING/SMTP 通信協(xié)議的C語言實現(xiàn))、lib_acl_cpp(基于 lib_acl 及 lib_protocol 兩個C庫,提供了更為強大的編程接口及豐富的功能類);本次 acl 升級除了一些常見 bug 修復外,主要針對 ACL 的通信模塊增加了 UDP 的通信能力,同時增加了 UDP 服務器通信模板。

?

acl 包括以下豐富的常用函數(shù)庫:

1、常見網(wǎng)絡應用庫: SMTP 客戶端庫/PING 庫/memcache 客戶端庫/handlersocket 客戶端庫/beanstalk 客戶端庫

2、HTTP 網(wǎng)絡庫:HTTP 客戶端/服務端庫,C++版 HttpServlet 類,HTTP COOKIE/HTTP SESSION 等

3、郵件解析庫:mime解析庫/RFC2047/RFC2048/mime base64/mime qp/mime uucode 等

4、網(wǎng)絡通信庫:阻塞/非阻塞網(wǎng)絡 IO 庫(其中 lib_acl_cpp 庫通過嵌入 polarssl 而具備了 SSL 的能力)

5、服務器框架:包括進程池模式、線程池模式、非阻塞模式、UDP通信模式及觸發(fā)器模式

6、事件引擎:支持 select、poll(for unix)、epoll(for linux)、kqueue(for bsd)、devpoll(for solaris)、iocp(for win32)、win32 窗口消息(for win32)事件引擎

7、通用連接池庫:高效的連接池基礎類庫,支持豐富的功能

8、數(shù)據(jù)庫客戶端庫:對原生的數(shù)據(jù)庫客戶端庫進行了二次封裝,使編程更為簡易,功能更為豐富

9、xml/json 流式解析庫:區(qū)別于網(wǎng)上其它已有的 xml/json 解析庫,acl 中的 xml/json 解析庫采用有限狀態(tài)機方式解析數(shù)據(jù),處理方式更為靈活

?

一、基礎庫:lib_acl

. feature: acl_single_server.c, acl_ioctl_server.c, acl_aio_server.c, acl_udp_server.c 增加了可以獲得本地監(jiān)聽套接口流對象集合的函數(shù)

. feature: master 服務器框架增加了專門針對 UDP 的服務器模板 acl_udp_server.c/acl_udp_params.h

. feature: ACL_VSTREAM 支持 UDP 傳輸; acl_vstream_net.c 中增加了 acl_vstream_bind 函數(shù)用來綁定 UDP 傳輸模式

. feature: ACL_VSTREAM 增加了 acl_vstream_set_local_addr, acl_vstream_set_peer_addr

. feature: ACL_VSTREAM 中添加了 struct sockaddr_in 類型的兩個指針,以便于 ACL_VSTREAM 很容易支持 UDP 傳輸

. feature: ACL_VSTREAM 對象增加了 acl_vstream_set_local, acl_vstream_set_remote, acl_vstream_set_path 三個函數(shù)

. performance: ACL_VSTREAM 中將 remote_addr, local_addr 定義為指針,從而大大減少了 ACL_VSTREAM 對象創(chuàng)建時的尺寸大小

. compile: 增加了工程文件 Makefile.db,使用該工程文件編譯,則可以使用 mysql 數(shù)據(jù)庫功能,使用 Makefile 工程文件編譯,則可以 lib_acl.a 更為干凈 (即不依賴于任何第三方庫)

. bugfix: events_select.c/events_select_thr.c 當套接字監(jiān)聽集合為空時休眠的時間單位為秒,需要將微秒級的 delay 轉(zhuǎn)為秒級

. other: events 模塊 ACL_EVENT_NOTIFY_RDWR/ACL_EVENT_NOTIFY_TIME 函數(shù)接口類型重新定義,在回調(diào)函數(shù)中增加了 ACL_EVENT,ACL_VSTREAM 參數(shù),從而方便用戶直接使用;因為這兩個接口的重新定義,導致了很多功能模塊做相應修改,主要影響的模塊有:event, master, aio, ioctl

. other: 將 master 模塊下的源文件代碼排版整理了一下

. other: acl_vstream.c: acl_vstream_set_remote 重命名為 acl_vstream_set_peer

?

二、應用協(xié)議庫:lib_protocol

. bugfix: http_chat_async.c 中 http_res_body_get_async/http_req_body_get_async 兩個函數(shù)沒有對 ctx->read_cnt 置 0

. other: lib_acl 庫中 ACL_EVENT_NOTIFY_RDWR/ACL_EVENT_NOTIFY_TIME 函數(shù)接口定義的修改,與之相關的模塊(icmp)進行了修改

. other: 因為 lib_acl 基礎庫中的 ACL_VSTREAM 讀寫回調(diào)函數(shù)接口變更,調(diào)整了與之相關的部分內(nèi)部接口,主要影響到了 icmp 模塊中 icmp_stream.c 中的內(nèi)部接口

?

三、功能豐富的C++庫:lib_acl_cpp

. feature: aio_stream 增加了 get_peer/get_local 用來獲得網(wǎng)絡連接流的本地及遠程地址

. feature: master_udp 服務器模板增加了可在 proc_on_init() 虛函數(shù)中獲得本地綁定套接字流對象集合的函數(shù)功能: get_sstreams()

. feature: master 服務器框架增加了 master_udp 服務模板類

. feature: connect_manager 類增加了根據(jù)鍵值字符串的哈希值獲取連接池對象的虛函數(shù),從而有利于在分布式環(huán)境里使用連接池

. feature: connect_manager/connect_pool 類增加了針對每個連接池有一個其位于連接池集合中的下標索引

. feature: http_request::request 中原來只能指定 GET/POST 兩種請求方法,現(xiàn)在可以指定多種請求方法

. feature: http_header 允許設置自定義 (即除 GET/POST/PUT/CONNECT/PURGE之個) 的請求頭命令字

. feature: memcache 類支持流式讀寫數(shù)據(jù),從而可以支持大 value 的存取方式

. feature: master_threads 類在單獨運行方式的使用場景接近于在 acl_master 框架下的運行場景

. feature: master_threads/master_aio/master_proc 類支持在單獨運行模式下監(jiān)聽多個地址

. feature: acl_cpp_init.cpp 中添加了 WIN32 下關閉 DOS 窗口的函數(shù)

. feature: http/memcache 模塊增加了連接池管理類

. compile: acl_cpp_init.cpp 中 freopen 返回的文件句柄因為未被使用而使編譯器報警

. compile: 增加了 Makefile.db 工程文件,使用該文件編譯則需要 mysql/sqlite 庫; 如果不需要數(shù)據(jù)庫相關的功能,則使用 Makefile 工程文件進行編譯

. bugfix: memcache 類中當連接異常中斷重試時會因請求數(shù)據(jù)被清掉而出錯,原因是請求與響應共用同一個緩沖區(qū)所致,現(xiàn)將請求緩沖區(qū)與響應緩沖區(qū)分開

. bugfix: memcache.cpp 當調(diào)用 open 函數(shù)連接 memcached 服務器失敗時,用 valgrind 檢查出記錄錯誤日志時引用了一個未經(jīng)初始化的變量

. samples: 增加了針對 UDP 的測試用例 udp_client?

. other: lib_acl 庫中 ACL_EVENT_NOTIFY_RDWR/ACL_EVENT_NOTIFY_TIME 函數(shù)接口定義的修改,與之相關的模塊進行了修改

. other: 因為 lib_acl 基礎庫中的 ACL_VSTREAM 讀寫回調(diào)函數(shù)接口變更,調(diào)整了與之相關的部分內(nèi)部接口,主要影響到了 ssl_stream/ssl_aio_stream

. other: connpool/http_request_pool/memcache_pool: 調(diào)整了構(gòu)造函數(shù),去掉了最后一個參數(shù)

轉(zhuǎn)載于:https://my.oschina.net/u/568966/blog/309568

總結(jié)

以上是生活随笔為你收集整理的网络与服务器编程框架库 acl_3.0.12 发布的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 123超碰| 精品国产一区二区三区久久 | 亚洲一区二区三区高清视频 | 免费av看| 天堂…中文在线最新版在线 | 成人午夜免费福利 | 日韩二区三区 | 成人免费在线小视频 | 精品国产欧美日韩 | 免费观看一区二区 | 亚洲精品久久视频 | 九色91porny| 久久久久久久久久久久久久久久久 | 久久精品波多野结衣 | 美国一级特黄 | 免费视频中文字幕 | 男生看的污网站 | 亚洲最大福利网 | 久久午夜夜伦鲁鲁片无码免费 | 欧美一区二区日韩一区二区 | 亚洲午夜精品视频 | av片观看 | 中文字幕精 | 波多野结衣av电影 | 黄色av地址 | 成人午夜免费在线 | 国产一区二区四区 | 丁香五香天堂 | 久久国产精品无码一级毛片 | 欧美美女性视频 | 成人a站 | 国产人伦精品一区二区三区 | 五月激情综合网 | 欧美性生活一区二区 | 在线xxxx | 色呦呦网 | 亚洲乱码国产乱码精品精剪 | 男女做激情爱呻吟口述全过程 | 超碰91在线 | www男人的天堂 | 快播久久| www.呦呦| 丰满熟女人妻一区二区三区 | 男女交性视频播放 | 中文字幕校园春色 | 国产成人精品a视频一区 | 麻豆一区二区三区精品视频 | 午夜日韩电影 | 久久久精品人妻av一区二区三区 | 久久性网 | 日日摸夜夜添狠狠添久久精品成人 | 久久99精品久久久久久噜噜 | 欧美91看片特黄aaaa | 黄色av电影在线观看 | 日韩亚洲欧美在线观看 | 欧美精品18 | 国产黄色www| 国产在线拍揄自揄拍无码视频 | 男生操女生在线观看 | 免费av网页 | 三日本三级少妇三级99 | av高清一区 | 日韩一卡二卡 | 寂寞少妇让水电工爽hd | 亚洲精品高清在线观看 | 丰满大乳国产精品 | 少妇名器的沉沦 | 久久久久久久女国产乱让韩 | www.欧美 | 波多野吉衣在线观看视频 | 专干中国老太婆hd | 720url在线观看免费版 | 日韩欧美一区二区三区四区 | 国语对白一区 | 婷婷国产成人精品视频 | 亚洲五月花 | 中文字幕在线看 | 国产亚洲午夜 | 午夜在线视频观看 | 99在线精品视频 | 大地资源中文在线观看免费版 | 黄色wwwww | 免费高清成人 | 偷拍中国夫妇高潮视频 | 男人操女人的网站 | 亚洲偷拍一区 | 欧美抠逼视频 | 91资源在线播放 | 国内精品999 | 久久精品香蕉 | 亚洲伊人色 | 国产一区二区三区四区视频 | 女人和拘做爰正片视频 | 日韩av片在线看 | 亚洲欧美在线视频观看 | 亚洲永久免费观看 | 久久久福利 | 亚洲天堂麻豆 | 六月丁香久久 |