work_ptr dummy_work(new io_service::work(service_));
总结 Boost.Asio是一个复杂的库,但是却让网络 编程变得异常简单。编译它很简单。它避免使用宏,这一点做得很好;他虽然定义了少部分的宏来做选项开关,但是你需要担心的很少。 Bosot.Asio支持同步和异步编程。他们有很大不同;你需要早早地选择其中的一种,因为它们之间的转换是非常复杂而且易错的。 如果你选择同步,你可以选择异常处理或者错误码,从异常处理转到错误码;只需要在call函数中增加一个参数即可(错误码)。 Boost.Asio不仅仅可以用来做网络编程。它还有其他更多的特性,这让它显得更有价值,比如信号量,计时器等等。 下一章我们将深入研究大多数Boost.Asio中用来做网络编程的函数和类。同时我们也会学一些异步编程的诀窍。