19、boost asio 教程---里程碑 1

本文档介绍了Boost.Asio库在网络编程中的应用,主要关注TCP协议。内容涵盖io_context的作用,TCP连接的特点,同步与异步操作的区别,客户端和服务器应用程序的设计,以及多线程环境下的错误处理策略。强调了在实际开发中使用异步操作的必要性,并提供了关于如何处理TCP连接、启动客户端连接和服务器接受连接的指导。
摘要由CSDN通过智能技术生成

正如您可能已经注意到的,到目前为止,我们所看到的大多数示例都涉及TCP领域。这是因为大多数服务、应用程序和应用层协议都是构建在TCP之上的。这在某种程度上是默认选择。如果您不知道需要哪种协议,那就选择TCP。

UDP有点棘手,适用UDP更好的领域非常有限。在您提高网络技能之后,我们将稍后更详细地研究UDP的特性以及如何使用Boost.Asio处理UDP。与此同时,我们将继续学习如何处理TCP。

哦,还有ICMP!这家伙甚至比UDP更稀少。总有一天我们也会遇到它。但现在,让我们回到TCP。

因此,在本课中,我们将简要回顾到目前为止学到的所有内容。

基础知识
- 一切都始于并围绕着boost::asio::io_context类实例展开。所有I/O操作都由某个io_context处理。提供I/O功能的所有类在构造时都与某个io_context绑定,不能在其生命周期内重新绑定到另一个io_context上。首先,您创建至少一个io_context类实例。接下来,您在其之上执行其他操作。

- 要通过网络传输数据,您需要一个套接字。套接字类似于文件句柄,但是套接字上的操作更受限制,这些限制取决于您正在处理的网络协议:TCP、UDP或ICMP。

- TCP连接类似于双向顺序数据流。它可以打开并准备好操作,也可以关闭。您可以向其写入数据并从中读取数据(如果需要,可以同时进行)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Knowledgebase

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值