• <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)

            隨筆分類(lèi)

            隨筆檔案

            文章檔案

            相冊(cè)

            搜索

            •  

            積分與排名

            • 積分 - 295356
            • 排名 - 87

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            簡(jiǎn)介

            Boost.Asio是一個(gè)跨平臺(tái)的C++庫(kù),主要用于網(wǎng)絡(luò)和其他一些底層的I/O編程。
            在大量的網(wǎng)絡(luò)編程庫(kù)中,Boost.Asio是其中的佼佼者,它于2005年加入到Boost,已經(jīng)被廣泛的測(cè)試并且應(yīng)用在多個(gè)項(xiàng)目中,如:
            1. Remobo (http://www.remobo.com),用于創(chuàng)建瞬時(shí)專(zhuān)用網(wǎng)絡(luò)(IPN)
            2. libtorrent (http://www.rasterbar.com/products/libtorrent), 用于實(shí)現(xiàn)BT的客戶(hù)端
            3. 開(kāi)源德州撲克游戲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年開(kāi)始開(kāi)發(fā),2005年12月加入到Boost 1.35,原始作者Christopher M. Kohlhoff。
            支持的平臺(tái)和編譯器如下:
            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 及以上
            在其他平臺(tái)也應(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).


            依賴(lài)關(guān)系

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


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

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


            久久人人爽人爽人人爽av | 99久久国语露脸精品国产| 色偷偷久久一区二区三区| AAA级久久久精品无码片| 久久精品国产一区二区三区不卡| 久久激情五月丁香伊人| 久久天天躁狠狠躁夜夜avapp| 久久精品国产影库免费看 | 东京热TOKYO综合久久精品| 国产成人精品久久亚洲高清不卡| 久久夜色精品国产| 国产精品久久免费| 久久午夜免费视频| 久久99精品九九九久久婷婷| 久久精品人成免费| 亚洲欧洲精品成人久久奇米网| 国内精品久久久久| 久久久久亚洲av无码专区| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 国产亚州精品女人久久久久久 | 91久久精品国产成人久久| 亚洲精品美女久久久久99| 色综合久久88色综合天天 | 亚洲国产成人久久综合碰碰动漫3d| 亚洲欧美日韩久久精品第一区| 久久久久人妻一区精品| 亚洲一本综合久久| 久久国产精品久久国产精品| 99精品国产99久久久久久97| 思思久久99热免费精品6| 久久高清一级毛片| 久久WWW免费人成—看片| 久久精品国产亚洲综合色 | 久久久国产视频| 亚洲欧洲精品成人久久曰影片| 久久久艹| 香蕉久久久久久狠狠色| 亚洲精品高清一二区久久| 综合久久精品色| 人妻无码精品久久亚瑟影视| 国产精品久久久久久五月尺|