C++ Boost Asio 简单聊天教程

Posted

技术标签:

【中文标题】C++ Boost Asio 简单聊天教程【英文标题】:C++ Boost Asio Simple Chat Tutorial 【发布时间】:2011-12-17 08:21:36 【问题描述】:

我一直在看Boost Asio的教程(官网)。但我发现他们的脖子很痛!有没有关于 asio 的简单教程?!我的意思是,一个简单的客户端-服务器聊天。 没有线程!! 谢谢!

【问题讨论】:

我没用过boost,但是Asio不是代表异步io吗?线程不是“重点”吗? @Seth 两种典型方案是“异步 I/O”与“线程同步 I/O”。通常,异步 I/O 的目的是避免每个连接使用一个线程,其中每个线程都使用同步 I/O。如果你愿意,当然可以同时使用线程和异步 I/O——但这会使事情变得更加复杂(我猜这是 OP 试图避免的)。 @Kia 一目了然,boost asio 库有点复杂和不透明,但据我所知,boost asio 教程不使用任何线程。这是不正确的吗? 以下是 BoostCon 2010 的一些 Asio 幻灯片:Getting Started with Asio @wjl - boost chat client example 在线程中运行其io_service 例程。 【参考方案1】:

http://www.boost.org/doc/html/boost_asio/tutorial/tutdaytime1.html

上面有什么问题吗?这就是我在使用 Boost::Asio 时学会使用它的地方。

【讨论】:

虽然我承认这是来自官方网站的内容,但它非常简单。【参考方案2】:

这不是聊天教程,它使用线程,但本教程相当简单:

http://www.gamedev.net/blog/950/entry-2249317-a-guide-to-getting-started-with-boostasio/

【讨论】:

【参考方案3】:

这个blog 似乎是 ASIO 库的作者/作者,并且有很多关于它的额外信息。

例如:boost::asio vs asio、fork/join with asio。

【讨论】:

以上是关于C++ Boost Asio 简单聊天教程的主要内容,如果未能解决你的问题,请参考以下文章

Boost Asio教程集合

boost asio tcp 收发教程

boost asio doc中教程的奇怪输出

C++ Boost ASIO:在类中初始化 io_context:

C++ boost::asio::io_service创建线程池thread_group简单实例

C++ boost::asio::io_service创建线程池thread_group简单实例