Boost.Asio 0.37教程 Timer.1(翻译自Boost.Asio 0.37的文档)
原文http://asio.sourceforge.net/boost_asio_0_3_7/libs/asio/doc/
翻译:张沈鹏 http://blog.csdn.net/zuroc or http://www.cppblog.com/zuroc
Timer.1 - 同步Timer
本章介绍asio如何在定时器上进行阻塞等待(blocking wait).
实现,我们包含必要的头文件.
所有的asio类可以简单的通过include "asio.hpp"来调用.
#include <iostream>
#include <boost></boost></iostream>
此外,这个示例用到了timer,我们还要包含Boost.Date_Time的头文件来控制时间.
#include <boost></boost>
使用asio至少需要一个boost::asio::io_service对象.该类提供了访问I/O的功能.我们首先在main函数中声明它.
int main()
{
boost::asio::io_service io;
下一步我们声明boost::asio::deadline_timer对象.这个asio的核心类提供I/O的功能(这里更确切的说是定时功能),总是把一个io_service对
象作为他的第一个构造函数,而第二个构造函数的参数设定timer会在5秒后到时(expired).
boost::asio::deadline_timer t(io, boost::posix_time::seconds(5));
这个简单的示例中我们演示了定时器上的一个阻塞等待.就是说,调用boost::asio::deadline_timer::wait()的在创建后5秒内(注意:不是等待
开始后),timer到时之前不会返回任何值.
一个deadline_timer只有两种状态:到时,未到时.如果boost::asio::deadline_timer::wait()在到时的timer上调用,会立即return.
t.wait();
最后,我们输出理所当然的"Hello, world!"来演示timer到时了.
std::cout << "Hello, world!\n";
return 0;
}
完整的代码:
#include <iostream>
#include <boost>
#include <boost></boost></boost></iostream>
int main()
{
boost::asio::io_service io;
boost::asio::deadline_timer t(io, boost::posix_time::seconds(5));
t.wait();
std::cout << "Hello, world!\n";
return 0;
}
分享到:
相关推荐
Boost.Asio C++ Network Programming(2nd).pdf Boost.Asio C++ Network Programming(2nd).pdf Boost.Asio C++ Network Programming(2nd).pdf
Boost.Asio C++ Network Programming Cookbook.pdf Boost.Asio C++ Network Programming Cookbook.pdf
Boost.Asio C++ Network Programming
Boost.Asio.C++.Network.Programming.,想了解的可以看看
对应英文文档为[Boost.Asio](https://www.boost.org/doc/libs/1_72_0/doc/html/boost_asio.html)。 翻译了“Overview”、“Using Boost.Asio”、“Tutorial”、“Examples”的完整章节。 [“Networking TS ...
该c++ web server基于boost.asio库编写,同时支持http和https协议。该工程基于vs2015编译通过,相关配置和说明见readme.txt
Boost.Asio C++ 网络编程 PDF 高清 非扫描 中文版
Boost.Asio provides an excellent abstraction over it, making sure that with a minimal amount of coding, you can create beautiful client-server applications and have tons of fun doing it. And it ...
内置gitbook boost.asio网络编程所有源代码,采用c++17编写
The Boost.Asio library is aimed at reducing accidental complexity by introducing type systems and exploiting object-oriented methods, and decreasing the development time by providing high degrees of ...
st_asio_wrapper是一组类,功能是对boost.asio的包装(调试环境:boost-1.50.0),目的是简化boost.asio开发; 其特点是效率高、跨平台、完全异步,当然这是从boost.asio继承而来; 自动重连,数据透明传输,自动...
Boost.Asio C++ Network Programming源代码
最新版本,最新排版
简单来说,Boost.Asio是一个跨平台的、主要用于网络和其他一些底层输入/输出编程的C++库。 关于网络处理已经有很多解决方案,但是Boost.Asio是目前为止最优的方案。它在2005年就被包含进Boost,然后被大量Boost的...
Boost.Asio C++ Network Programming 2nd edition. kindle文件转换的,还是可以复制粘贴的。
st_asio_wrapper是一组类,功能是对boost.asio的包装(调试环境:boost-1.50.0),目的是简化boost.asio开发; 其特点是效率高、跨平台、完全异步,当然这是从boost.asio继承而来; 自动重连,数据透明传输,自动...
Boost.asio学习 下载地址: https://legacy.gitbook.com/book/mmoaay/boost-asio-cpp-network-programming-chinese/details
Boost.Asio.C++.Network.Programming 2013
Boost.Asio C++ Network Programming - Second Edition Code Files.zip是Boost.Asio C++ 网络编程 第二版 的所有源码文件,很有参考意义。