异步run(), run_one(), poll(), poll_ one()
为了实现监听循环,io_service类提供了4个方法,比如:run(), run_one(), poll()和poll_one()。当大部分时间你使用service.run()就可以。你会在这里学习到其他方法完成了什么。...
分类:
编程语言 时间:
2014-10-10 19:22:04
阅读次数:
165
*_at方法
这些方法在一个流上面做随机存取操作。你来指定read和write操作从什么地方开始(offset)...
分类:
编程语言 时间:
2014-10-09 17:11:48
阅读次数:
241
read/write方法
这些方法对一个流进行读写操作(可以是套接字,或者其他表现的像流的类)...
分类:
编程语言 时间:
2014-09-28 13:49:22
阅读次数:
298
缓冲区函数包装
纵观所有代码你会发现:无论什么时候,当我们需要对一个buffer进行读写操作时,代码会把实际的缓冲区对象包装在一个buffer()方法中,然后在把它传递给方法调用...
分类:
编程语言 时间:
2014-09-26 20:53:28
阅读次数:
177
TCP VS UDP VS ICMP
就像我之前所说,不是所有的成员方法在所有的套接字类中都可用。我做了一个包含成员函数不同点的列表。如果一个成员函数没有出现在这,说明它在所有的套接字类都是可用的。...
分类:
编程语言 时间:
2014-09-25 11:40:39
阅读次数:
230
Boost.Asio基本原理
这一章涵盖了你使用Boost.Asio时必须知道的一些事情。我们也将深入研究比同步编程更机警、更有乐趣的异步编程。...
分类:
编程语言 时间:
2014-09-24 14:31:46
阅读次数:
595
io_service类
你应该已经发现大部分使用Boost.Asio编写的代码都会使用几个ios_service的实例。ios_service是这个库里面最重要的类;它负责和操作系统打交道,等待所有异步操作的结束,然后为每一个异步操作调用完成处理程序。...
分类:
编程语言 时间:
2014-09-23 10:22:54
阅读次数:
318
异常处理VS错误代码
Boost.Asio允许同时使用异常处理或者错误代码,所有的异步函数都有抛出错误和返回错误码两种方式的重载。当函数抛出错误时,它经常抛出boost::system::system_error的错误。...
分类:
编程语言 时间:
2014-09-22 13:18:02
阅读次数:
303
同步VS异步
首先,异步编程和同步编程是有极大的不同的。在同步编程中,你所有的操作都是顺序执行的,比如从一个socket中读取(请求),然后写入(回应)到socket中。每一个操作操作都是阻塞的。因为操作是阻塞的,所以为了不影响主程序,当读写一个socket时,通常创建一个或多个线程来处理socket的输入/输出。因此,同步的服务端/客户端通常是多线程的。...
分类:
编程语言 时间:
2014-09-21 20:59:41
阅读次数:
233
Boost.Asio入门
什么是Boost.Asio
简单来说,Boost.Asio是一个跨平台的、主要用于网络和其他一些底层输入/输出编程的C++库。...
分类:
编程语言 时间:
2014-09-19 10:09:25
阅读次数:
494