c++通信框架

      網友投稿 975 2025-03-31

      c++通信框架

      Boost.Asio使用入門

      https://www.cnblogs.com/hanerfan/p/5161955.html

      下面簡單地與ACE做個比較。

      1、層次架構:

      ACE底層是C風格的OS適配層,上一層基于C++的wrap類,再上一層是一些框架(Accpetor, Connector,Reactor,Proactor等),最上一層是框架上服務。

      Boost.ASIO與之類似,底層是OS的適配層,上一層一些模板類,再上一層模板類的參數化(TCP/UDP),再上一層是服務,它只有一種框架為io_service。

      livevent在不同的操作系統(tǒng)下,做了多路復用模型的抽象,可以選擇使用不同的模型,通過事件函數提供服務。

      2、涉及范圍:

      ACE包含了日志,IPC,線程池,共享內存,配置服務,遞歸鎖,定時器等。

      ASIO只涉及到Socket,提供簡單的線程操作。

      libevent只提供了簡單的網絡API的封裝, 線程池, 內存池, 遞歸鎖等均需要自己實現。

      3、設計模式:

      ACE主要應用了Reactor,Proactor等。

      而ASIO主要應用了Proactor。

      libevent為Reactor模式

      4、線程調度:

      ACE的Reactor是單線程調度,Proactor支持多線程調度。

      ASIO支持單線程與多線程調度。

      libevent的線程調度需要自己來注冊不同的事件句柄。

      5、事件分派處理:

      ACE主要是注冊handler類,當事件分派時,調用其handler的虛掛勾函數。實現ACE_Handler / ACE_Svc_Handler / ACE_Event_handler等類的虛函數。

      ASIO是基于函數對象的hanlder事件分派。任何函數都可能成為hanlder,少了一堆虛表的維護,調度上優(yōu)于ACE。

      libevent基于注冊的事件回調函數來實現事件分發(fā)。

      6、發(fā)布方式:

      ACE是開源免費的,不依賴于第3方庫, 一般應用使用它時,以動態(tài)鏈接的方式發(fā)布動態(tài)庫。

      ASIO是開源免費的,依賴Boost,應用使用時只要include頭文件,不需動態(tài)庫。

      libevent為開源免費的,一般編譯為靜態(tài)庫進行使用。

      7、可移植性:

      ACE支持多種平臺,可移植性不存在問題,據說socket編程在linux下有不少bugs。

      ASIO支持多種平臺,可移植性不存在問題。

      libevent主要支持linux平臺,freebsd平臺, 其他平臺下通過select模型進行支持, 效率不是太高。

      8、開發(fā)難度:

      基于ACE開發(fā)應用,對程序員要求比較高,要用好它,必須非常了解其框架。在其框架下開發(fā),往往new出一個對象,不知在什么地方釋放好。

      基于ASIO開發(fā)應用,要求程序員熟悉函數對象,函數指針,熟悉boost庫中的boost::bind。內存管理控制方面。

      基于libevent開發(fā)應用,相對容易, 具體大家可以參考memcached這個開源的應用,里面使用了libevent這個庫。

      C++ 任務調度

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:B/S神思SS628(100)身份證閱讀器開發(fā)
      下一篇:物流工作流系統(tǒng):提升效率進化的關鍵
      相關文章
      亚洲日本va午夜中文字幕久久| 亚洲精品无码久久久久牙蜜区| 亚洲youwu永久无码精品| 亚洲乱码一二三四区乱码| 91亚洲国产成人久久精品 | 亚洲色av性色在线观无码| 久久精品国产亚洲av麻豆小说 | avtt天堂网手机版亚洲| 亚洲香蕉久久一区二区 | 亚洲精品午夜国产VA久久成人| 亚洲色大成网站WWW久久九九| 亚洲精品无码久久久影院相关影片 | 亚洲无码视频在线| 久久久久亚洲精品男人的天堂| 亚洲一级黄色视频| 亚洲色婷婷六月亚洲婷婷6月| 国产AV无码专区亚洲AV男同 | 老子影院午夜伦不卡亚洲| 国产成人亚洲精品电影| 亚洲国产日韩在线观频| 国产亚洲色视频在线| 国产精品亚洲а∨无码播放| 久久精品国产亚洲av成人| 67pao强力打造67194在线午夜亚洲 | 久久国产亚洲高清观看| 亚洲国产日韩在线成人蜜芽| 亚洲中文字幕无码久久| 精品亚洲视频在线| 久久精品亚洲福利| 亚洲VA中文字幕不卡无码| 亚洲一区二区中文| 亚洲国产中文在线二区三区免| 亚洲 欧洲 日韩 综合在线| 亚洲精品无码av中文字幕| 亚洲福利精品一区二区三区| 国产午夜亚洲精品理论片不卡| 亚洲日韩av无码| 亚洲黄网站wwwwww| 亚洲成人激情小说| 亚洲免费视频一区二区三区| 久久被窝电影亚洲爽爽爽|