青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 6,  comments - 61,  trackbacks - 0

 

Boost.Asio is a cross-platform C++ library for network programming that provides developers with a consistent asynchronous I/O model using a modern C++ approach.

Boost.Asio是一個跨平臺的C + +庫,它用現(xiàn)代C++方法為網(wǎng)絡(luò)編程人員提供一致的異步I/O模型。

 

Using Boost.Asio

How to use Boost.Asio in your applications. Includes information on library dependencies and supported platforms.

如何在你的應(yīng)用程序中使用Boost.Asio庫,以及關(guān)于庫依賴和所支持平臺信息。 

Tutorial

A tutorial that introduces the fundamental concepts required to use Boost.Asio, and shows how to use Boost.Asio to develop simple client and server programs.

介紹使用Boost.Asio必備的基本概念,同時示范如何使用Boost.Aaio開發(fā)簡單的客戶端\服務(wù)器程序。

Examples

Examples that illustrate the use of Boost.Asio in more complex applications.

更加復(fù)雜的應(yīng)用程序中使用Boost.Asio的示例。

Reference

Detailed class and function reference.

類和函數(shù)的詳細(xì)參考

Design

Rationale and design information for Boost.Asio.

Boost.Asio庫的基本原理及設(shè)計思路。

Supported Platforms

 支持平臺:

The following platforms and compilers have been tested:

已測試的平臺和編譯器:

 

  • Win32 and Win64 using Visual C++ 7.1 and Visual C++ 8.0.
  • Win32 using MinGW.
  • Win32 using Cygwin. (__USE_W32_SOCKETS must be defined.)
  • Linux (2.4 or 2.6 kernels) using g++ 3.3 or later.
  • Solaris using g++ 3.3 or later.
  • Mac OS X 10.4 using g++ 3.3 or later.

The following platforms may also work:

以下的平臺可能也可以使用:

 

  • AIX 5.3 using XL C/C++ v9.
  • HP-UX 11i v3 using patched aC++ A.06.14.
  • QNX Neutrino 6.3 using g++ 3.3 or later.
  • Solaris using Sun Studio 11 or later.
  • Tru64 v5.1 using Compaq C++ v7.1.
  • Win32 using Borland C++ 5.9.2

Dependencies

依賴性:

The following libraries must be available in order to link programs that use Boost.Asio:

以下是使用Boost.Asio 必需的鏈接庫:

 

  • Boost.System for the boost::system::error_code and boost::system::system_error classes.
  • Boost.Regex (optional) if you use any of the read_until() or async_read_until() overloads that take a boost::regex parameter.
  • OpenSSL (optional) if you use Boost.Asio's SSL support.

 

 

Boost.System 中的 boost::system::error_codeboost::system::system_error 類。

Boost.Regex (可選)。read_until() 或 async_read_until() 函數(shù)的重載形式都需要 boost::regex 參數(shù)。 如果你使用它們,則需要Boost.Regex庫。

OpenSSL (可選) 。如果需要Boost.Asio支持SSL,則需要OpenSSL

 

Furthermore, some of the examples also require the Boost.Thread, Boost.Date_Time or Boost.Serialization libraries.

另外,一些例子需要提供Boost.Thread,Boost.Date_Time 或Boost.Serialization 庫的支持。

 

[Note] Note

With MSVC or Borland C++ you may want to add -DBOOST_DATE_TIME_NO_LIB and -DBOOST_REGEX_NO_LIB to your project settings to disable autolinking of the Boost.Date_Time and Boost.Regex libraries respectively. Alternatively, you may choose to build these libraries and link to them.

 

注意:

使用MSVC或Borland C++,你可能需要在“工程設(shè)置”中分別添加 -DBOOST_DATE_TIME_NO_LIB-DBOOST_REGEX_NO_LIB 聲明,分別禁止Boost.Date_Time和Boost.Regex的自動鏈接,當(dāng)然你也可以這樣做:build這兩個庫,然后鏈接。

Building Boost Libraries

 編譯Boost庫:

You may build the subset of Boost libraries required to use Boost.Asio and its examples by running the following command from the root of the Boost download package:

你可以在下載包的根目錄下執(zhí)行如下的命令來編譯Boost.Asio所必需的Boost庫子集 


bjam --with-system --with-thread --with-date_time --with-regex --with-serialization stage

This assumes that you have already built bjam. Consult the Boost.Build documentation for more details.

這里假設(shè)你已經(jīng)編譯了bjam。請參考Boost.Build文檔以獲得更多信息。

Macros

The macros listed in the table below may be used to control the behaviour of Boost.Asio.

下表中的宏用來控制Boost.Asio狀態(tài)

Macro

Description

BOOST_ASIO_ENABLE_BUFFER_DEBUGGING

Enables Boost.Asio's buffer debugging support, which can help identify when invalid buffers are used in read or write operations (e.g. if a std::string object being written is destroyed before the write operation completes).

When using Microsoft Visual C++, this macro is defined automatically if the compiler's iterator debugging support is enabled, unless BOOST_ASIO_DISABLE_BUFFER_DEBUGGING has been defined.

When using g++, this macro is defined automatically if standard library debugging is enabled (_GLIBCXX_DEBUG is defined), unless BOOST_ASIO_DISABLE_BUFFER_DEBUGGING has been defined.

BOOST_ASIO_DISABLE_BUFFER_DEBUGGING

Explictly disables Boost.Asio's buffer debugging support.

BOOST_ASIO_DISABLE_DEV_POLL

Explicitly disables /dev/poll support on Solaris, forcing the use of a select-based implementation.

BOOST_ASIO_DISABLE_EPOLL

Explicitly disables epoll support on Linux, forcing the use of a select-based implementation.

BOOST_ASIO_DISABLE_KQUEUE

Explicitly disables kqueue support on Mac OS X and BSD variants, forcing the use of a select-based implementation.

BOOST_ASIO_DISABLE_IOCP

Explicitly disables I/O completion ports support on Windows, forcing the use of a select-based implementation.

BOOST_ASIO_NO_WIN32_LEAN_AND_MEAN

By default, Boost.Asio will automatically define WIN32_LEAN_AND_MEAN when compiling for Windows, to minimise the number of Windows SDK header files and features that are included. The presence of BOOST_ASIO_NO_WIN32_LEAN_AND_MEAN prevents WIN32_LEAN_AND_MEAN from being defined.

BOOST_ASIO_NO_DEFAULT_LINKED_LIBS

When compiling for Windows using Microsoft Visual C++ or Borland C++, Boost.Asio will automatically link in the necessary Windows SDK libraries for sockets support (i.e. ws2_32.lib and mswsock.lib, or ws2.lib when building for Windows CE). The BOOST_ASIO_NO_DEFAULT_LINKED_LIBS macro prevents these libraries from being linked.

BOOST_ASIO_SOCKET_STREAMBUF_MAX_ARITY

Determines the maximum number of arguments that may be passed to the basic_socket_streambuf class template's connect member function. Defaults to 5.

BOOST_ASIO_SOCKET_IOSTREAM_MAX_ARITY

Determines the maximum number of arguments that may be passed to the basic_socket_iostream class template's constructor and connect member function. Defaults to 5.

BOOST_ASIO_ENABLE_CANCELIO

Enables use of the CancelIo function on older versions of Windows. If not enabled, calls to cancel() on a socket object will always fail with asio::error::operation_not_supported when run on Windows XP, Windows Server 2003, and earlier versions of Windows. When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx function is always used.

The CancelIo function has two issues that should be considered before enabling its use:

* It will only cancel asynchronous operations that were initiated in the current thread.

* It can appear to complete without error, but the request to cancel the unfinished operations may be silently ignored by the operating system. Whether it works or not seems to depend on the drivers that are installed.

For portable cancellation, consider using one of the following alternatives:

* Disable asio's I/O completion port backend by defining BOOST_ASIO_DISABLE_IOCP.

* Use the socket object's close() function to simultaneously cancel the outstanding operations and close the socket.


Basic Skills

基本技能

The tutorial programs in this first section introduce the fundamental concepts required to use the asio toolkit. Before plunging into the complex world of network programming, these tutorial programs illustrate the basic skills using simple asynchronous timers.

本指南的第一部分主要介紹使用Asio工具包所需要了解的基本概念。在進(jìn)入復(fù)雜網(wǎng)絡(luò)編程世界之前,這些示例程序?qū)⑴e一些使用簡單異步定時器的例子。

 

 

Timer1、使用同步定時器
Timer2、使用異步定時器
Timer3、回調(diào)函數(shù)綁定參數(shù)
Timer4、成員函數(shù)作為回調(diào)函數(shù)
Timer5、多線程回調(diào)同步

Introduction to Sockets

介紹套接字

The tutorial programs in this section show how to use asio to develop simple client and server programs. These tutorial programs are based around the daytime protocol, which supports both TCP and UDP.

這部分的實例主要介紹如何使Asio開發(fā)簡單的客戶端\服務(wù)器程序。這些程序都基于同時支持TCP和UDP協(xié)議的daytime協(xié)議。

The first three tutorial programs implement the daytime protocol using TCP.

前三個程序用TCP實現(xiàn)daytime協(xié)議。

 

 

Daytime1、同步TCP daytime客戶端
Daytime2、同步TCP daytime服務(wù)器
Daytime3、異步TCP daytime服務(wù)器

The next three tutorial programs implement the daytime protocol using UDP.

接下來的三個程序用UDP實現(xiàn)daytime協(xié)議。

 

 

Daytime4、同步UDP daytime客戶端
Daytime5、同步UDP daytime服務(wù)器
Daytime6、異步UDP daytime服務(wù)器

The last tutorial program in this section demonstrates how asio allows the TCP and UDP servers to be easily combined into a single program.

本部分的最后一個程序演示了asio怎樣將TCPUDP服務(wù)器簡易的組合到一個程序里

 

Daytime7、結(jié)合了TCP/UDP的同步服務(wù)器

posted on 2008-04-20 01:14 王曉軒 閱讀(7949) 評論(1)  編輯 收藏 引用 所屬分類: C\C++
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久大综合网| 欧美成年人网站| 国内一区二区在线视频观看| 国产精品婷婷| 国产主播一区二区三区| 在线精品亚洲一区二区| 亚洲欧洲日本国产| 亚洲天堂成人在线视频| 欧美一区二区三区在线观看视频| 欧美在线视频观看| 欧美激情久久久| 一本色道久久综合狠狠躁的推荐| 亚洲精品1区2区| 欧美高清视频在线观看| 欧美日韩福利视频| 国产精品亚洲产品| 亚洲电影欧美电影有声小说| 一区二区三区视频在线看| 欧美怡红院视频| 欧美大色视频| 亚洲欧美激情视频| 欧美精品一区在线观看| 国产日韩av一区二区| 亚洲日本在线观看| 午夜在线一区二区| 亚洲高清123| 亚洲专区在线| 欧美精品导航| 在线观看国产日韩| 亚洲欧美视频在线| 亚洲欧洲日本在线| 久久久久久久性| 国产精品亚洲一区| 一区二区动漫| 欧美国产精品久久| 久久精品亚洲精品国产欧美kt∨| 欧美视频在线观看 亚洲欧| 在线不卡亚洲| 久久一区国产| 午夜在线a亚洲v天堂网2018| 欧美日韩亚洲不卡| 亚洲精品在线电影| 欧美激情一二三区| 久久一区中文字幕| 黄色亚洲免费| 久久久久欧美精品| 欧美亚洲免费电影| 国产欧美日韩精品丝袜高跟鞋| 一本色道久久88精品综合| 欧美黑人多人双交| 免费欧美日韩| 最新亚洲一区| 亚洲国产精品久久久久秋霞不卡 | 午夜精品国产更新| 亚洲精选久久| 欧美日韩一区二区欧美激情| 亚洲乱码日产精品bd| 欧美成va人片在线观看| 久久国产免费看| 国内精品国产成人| 久久免费99精品久久久久久| 欧美一区二区三区男人的天堂 | 99精品欧美一区二区三区综合在线 | 欧美精品日日鲁夜夜添| 亚洲在线成人| 亚洲欧美日韩一区二区三区在线观看 | 亚洲日本中文字幕| 免费久久精品视频| 亚洲狼人综合| 亚洲精品五月天| 欧美午夜宅男影院| 欧美一区二区三区视频在线 | 亚洲欧美日韩成人高清在线一区| 国产精品免费福利| 久久久久久伊人| 久久综合五月| 在线午夜精品| 午夜在线视频一区二区区别| 黑人巨大精品欧美黑白配亚洲| 麻豆精品91| 欧美日韩三级视频| 久久成人综合网| 免费不卡欧美自拍视频| 制服丝袜激情欧洲亚洲| 亚洲欧美国产日韩中文字幕 | 欧美一级大片在线免费观看| 午夜亚洲性色福利视频| 亚洲黄色av| 一区二区欧美亚洲| 国产一区再线| 亚洲精一区二区三区| 国产欧美精品日韩区二区麻豆天美| 久久久久久久一区二区三区| 欧美成人福利视频| 性久久久久久久| 蜜臀a∨国产成人精品| 亚洲免费在线视频| 久热精品视频| 久久国产精品99精品国产| 免费日韩视频| 久久久精品2019中文字幕神马| 欧美韩日一区二区| 久久久夜夜夜| 国产精品久久久久久久午夜片| 你懂的网址国产 欧美| 国产精品丝袜91| 亚洲精品视频在线看| 狠狠综合久久| 亚洲欧美在线一区二区| 99国产精品久久久久老师| 久久久99爱| 欧美一区二区在线观看| 欧美日韩国产精品成人| 欧美成人中文字幕| 国精品一区二区三区| 亚洲视频二区| 中文在线一区| 欧美日产一区二区三区在线观看 | 老司机精品视频一区二区三区| 久久激情中文| 午夜在线成人av| 欧美日韩高清免费| 欧美成人黑人xx视频免费观看| 国产日韩欧美电影在线观看| 一卡二卡3卡四卡高清精品视频 | 性欧美大战久久久久久久久| 欧美成ee人免费视频| 久久一区二区精品| 国产一区二区三区久久久久久久久| 一本一本久久| 亚洲与欧洲av电影| 国产精品久久综合| 亚洲婷婷综合色高清在线| 亚洲精品久久久久久久久久久 | 亚洲在线观看| 午夜一级久久| 国产免费观看久久| 午夜日韩激情| 久久久人人人| 韩日欧美一区二区| 久久美女艺术照精彩视频福利播放| 久久全球大尺度高清视频| 狠狠爱www人成狠狠爱综合网| 欧美一区午夜精品| 美日韩精品视频免费看| 在线观看av一区| 欧美xxxx在线观看| 亚洲美女免费视频| 亚洲欧美激情四射在线日| 国产精品久在线观看| 欧美资源在线观看| 亚洲第一在线综合在线| 日韩午夜av电影| 国产精品扒开腿做爽爽爽软件| 亚洲午夜精品一区二区三区他趣| 先锋影音网一区二区| 韩日精品视频| 欧美激情综合色综合啪啪| 99精品99| 久久久久久久一区二区| 亚洲精品一区在线观看香蕉| 欧美日韩成人综合| 亚洲欧美欧美一区二区三区| 久久精品一区二区三区不卡牛牛| 国语自产精品视频在线看8查询8| 欧美不卡激情三级在线观看| 制服丝袜亚洲播放| 久久婷婷蜜乳一本欲蜜臀| 日韩午夜视频在线观看| 国产欧美日韩综合| 欧美精品三级| 欧美伊人久久大香线蕉综合69| 亚洲国产日韩在线| 久久九九久久九九| 一本色道88久久加勒比精品| 国产综合久久久久影院| 欧美午夜精品理论片a级按摩| 久久久久国产免费免费| 一区二区三区鲁丝不卡| 欧美国产一区视频在线观看| 亚洲欧美日本精品| 亚洲高清视频一区| 国产日韩欧美自拍| 欧美日韩视频在线一区二区| 久久免费高清视频| 欧美亚洲专区| 欧美一区二区三区日韩视频| 国产精品人人做人人爽| 久久免费精品日本久久中文字幕| 日韩视频在线你懂得| 久久婷婷色综合| 午夜精品美女久久久久av福利| 亚洲乱码国产乱码精品精| 国产亚洲一区二区精品| 国产精品国码视频| 欧美国产视频日韩| 久久亚洲私人国产精品va| 亚洲男人av电影| 国产精品99久久不卡二区| 亚洲国产欧美日韩|