• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 79  文章 - 58  trackbacks - 0
            <2014年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿(9)

            隨筆分類

            隨筆檔案

            文章檔案

            相冊

            搜索

            •  

            積分與排名

            • 積分 - 295931
            • 排名 - 87

            最新評論

            閱讀排行榜

            評論排行榜

            簡介

            Boost.Asio是一個跨平臺的C++庫,主要用于網(wǎng)絡(luò)和其他一些底層的I/O編程。
            在大量的網(wǎng)絡(luò)編程庫中,Boost.Asio是其中的佼佼者,它于2005年加入到Boost,已經(jīng)被廣泛的測試并且應(yīng)用在多個項目中,如:
            1. Remobo (http://www.remobo.com),用于創(chuàng)建瞬時專用網(wǎng)絡(luò)(IPN)
            2. libtorrent (http://www.rasterbar.com/products/libtorrent), 用于實現(xiàn)BT的客戶端
            3. 開源德州撲克游戲PokerTH (http://www. pokerth.net)
            Boost.Asio成功的抽象了包括網(wǎng)絡(luò),串口、文件在內(nèi)的同步和異步的I/O操作:
            1. read(stream, buffer [, extra options]) 
            2. async_read(stream, buffer [, extra options], handler) 
            3. write(stream, buffer [, extra options]) 
            4. async_write(stream, buffer [, extra options], handler)
            Boost.Asio支持大多數(shù)操作系統(tǒng),輕量可擴(kuò)展的,目前網(wǎng)絡(luò)部分支持TCP, UDP, IMCP,可以很方便的擴(kuò)展自定義協(xié)議。


            歷史

            Boost.Asio于2003年開始開發(fā),2005年12月加入到Boost 1.35,原始作者Christopher M. Kohlhoff。
            支持的平臺和編譯器如下:
            32位和64位Windows, Visual C++ 7.1及以上
            Windows, MinGW
            Windows ,  Cygwin (必須定義宏#define      USE_232_SOCKETS)
            基于2.4和2.6核心的Linux ,  g++ 3.3 及以上
            Solaris, g++ 3.3 及以上
            MAC OS X 10.4+, g++ 3.3 及以上
            在其他平臺也應(yīng)該能正常工作,如:
            AIX 5.3, HP-UX 11i v3, QNX Neutrino 6.3, Solaris using  Sun Studio  11+, True64 v5.1, Windows using  Borland  C++ 5.9.2+ (consult at www.boost.org for more details).


            依賴關(guān)系

            Boost.Asio 依賴如下庫:
            Boost.System: 必選,提供了操作系統(tǒng)底層函數(shù)的支持
            Boost.Regex:  可選,如果你使用了帶boost::regex參數(shù)的read_until() 和 async_read_until() 
            Boost.DateTime: 可選,如果你使用了定時器
            OpenSSL: 可選,如果需要SSL的支持


            編譯
            Boost.Asio 是只有頭文件的庫,無需編譯直接使用,但是你也可以編譯成靜態(tài)或者動態(tài)庫, 減少程序的編譯時間。
            包含頭文件  #include <boost/asio/impl/src.hpp>(如果使用SSL, 也要包含 #include <boost/asio/ssl/impl/src.hpp>), 而不是包含 <boost/asio.hpp>
            在程序的源文件里定義宏 #define BOOST_ASIO_SEPARATE_COMPILATION 
            由于Boost.Asio 依賴Boost.System和Boost.Regex, 所以編譯如下:
            bjam –with-system –with-regex stage
            如果你運行完整的測試,執(zhí)行Asio自帶的樣例,建議編譯如下:
            bjam –with-system –with-thread –with-date_time –with-regex –with- serialization stage
            注意如果定義了BOOST_ASIO_DISABLE_THREADS宏, 不論boost是否支持線程,asio將會不支持線程,
             
            posted on 2014-08-11 22:45 merlinfang 閱讀(4720) 評論(0)  編輯 收藏 引用 所屬分類: asio

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            伊人色综合久久天天网| 婷婷久久综合九色综合98| 久久播电影网| 日本加勒比久久精品| 亚洲综合日韩久久成人AV| 国产精品久久国产精麻豆99网站| 99久久精品国产综合一区| 久久精品中文字幕大胸| 国产精品久久波多野结衣| 国产精品久久婷婷六月丁香| 久久精品国产秦先生| 久久久久国产精品人妻| 国产精品伦理久久久久久| 久久久av波多野一区二区| 久久精品国产99久久丝袜| 精品久久久久久久无码| 久久五月精品中文字幕| 99热都是精品久久久久久| 少妇久久久久久久久久| 久久影视国产亚洲| 国产成人久久精品麻豆一区| 五月丁香综合激情六月久久 | 亚洲精品tv久久久久久久久久| 蜜臀av性久久久久蜜臀aⅴ麻豆| 久久久久无码专区亚洲av| 久久夜色tv网站| 久久精品国产亚洲AV电影| 国产精品99久久久精品无码| 亚洲午夜精品久久久久久浪潮| 伊人丁香狠狠色综合久久| 久久香蕉一级毛片| 中文精品久久久久国产网址| 久久精品国产精品国产精品污| 久久精品国产亚洲AV麻豆网站 | 品成人欧美大片久久国产欧美... 品成人欧美大片久久国产欧美 | 99久久综合国产精品二区| 久久中文字幕一区二区| 91精品婷婷国产综合久久| 伊人丁香狠狠色综合久久| 国产精品嫩草影院久久| 久久一本综合|