Skip to content

Latest commit

 

History

History
107 lines (60 loc) · 6.8 KB

File metadata and controls

107 lines (60 loc) · 6.8 KB

零、前言

大约二十年前,网络应用不是很容易开发。但是多亏了 Boost.Asio 为我们提供了网络编程功能以及异步操作功能来编程网络应用,现在我们可以轻松地开发它们。由于网络上的数据传输可能需要很长时间,这意味着确认和错误可能没有发送或接收数据的函数执行得快,因此在网络应用编程中确实需要异步操作功能。在本书中,您将学习网络基础知识,以及如何使用 Boost 开发网络应用.Asio 库。

这本书涵盖了什么

第一章用 C++ 简化你的网络编程解释了一个 C++ 编译器的准备,这个编译器将用来编译本书所有的源代码。此外,它将告诉我们如何编译单个源代码并链接到多个源代码。

第二章了解组网概念,涵盖了网络参考模型,分别是 OSI 和 TCP/IP。它还提供了各种 TCP/IP 工具,我们将经常使用这些工具来检测我们的网络连接中是否发生了错误。

第 3 章介绍 Boost C++ 库,说明如何设置编译器来编译包含 Boost 库的代码,以及如何构建我们必须单独编译的库的二进制文件。

第四章助力入门.Asio ,讲并发和非并发编程。它还讨论了输入/输出服务,该服务用于访问操作系统的资源,并在我们的程序和执行输入/输出请求的操作系统之间建立通信。

第五章钻研助推.Asio Library ,为我们讲解如何序列化 I/O 服务的工作,以确保工作顺序与我们设计的顺序完全匹配。它还包括如何处理网络编程中的错误和异常以及造成时间延迟。

第 6 章创建客户端-服务器应用,讨论了开发能够从客户端发送和接收数据流量的服务器,以及如何创建客户端程序来接收数据流量。

第 7 章调试代码和解决错误涵盖了调试过程,以跟踪意外结果可能产生的错误,例如在程序执行过程中出现崩溃。阅读本章后,您将能够通过调试代码来解决各种错误。

这本书你需要什么

要浏览本书并成功编译所有源代码,您需要一台运行微软视窗 8.1(或更高版本)并包含以下软件的个人计算机:

  • MinGW-w64 适用于 Windows,版本 4.9.2
  • 记事本++ 的最新版本
  • 1.58.0 版的 Boost C++ 库

这本书是给谁的

这本书是给有网络编程基础知识,但不知道如何使用 Boost 的 C++ 网络程序员看的。网络编程 Asio。

惯例

在这本书里,你会发现许多区分不同种类信息的文本样式。以下是这些风格的一些例子和对它们的意义的解释。

文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、伪 URL、用户输入和 Twitter 句柄如下所示:“等待片刻,直到mingw-w64-install.exe文件完全下载完毕。”

代码块设置如下:

/* rangen.cpp */
#include <cstdlib>
#include <iostream>
#include <ctime>
int main(void) {

当我们希望将您的注意力吸引到代码块的特定部分时,相关的行或项目以粗体显示:

int guessNumber;
std::cout << "Select number among 0 to 10: ";
std::cin >> guessNumber;

任何命令行输入或输出都编写如下:

rundll32.exe sysdm.cpl,EditEnvironmentVariables

新名词重要词语以粗体显示。你在屏幕上看到的单词,例如,在菜单或对话框中,出现在这样的文本中:“你将受到欢迎对话框的欢迎。只需按下下一步按钮,进入设置对话框。”

警告或重要提示会出现在这样的框中。

类型

提示和技巧是这样出现的。

读者反馈

我们随时欢迎读者的反馈。让我们知道你对这本书的看法——你喜欢或不喜欢什么。读者反馈对我们来说很重要,因为它有助于我们开发出你真正能从中获益的标题。

要给我们发送一般反馈,只需发送电子邮件<[feedback@packtpub.com](mailto:feedback@packtpub.com)>,并在您的邮件主题中提及书名。

如果你对某个主题有专业知识,并且对写作或投稿感兴趣,请参见我们位于www.packtpub.com/authors的作者指南。

客户支持

现在,您已经自豪地拥有了一本书,我们有许多东西可以帮助您从购买中获得最大收益。

下载示例代码

您可以从您在http://www.packtpub.com的账户下载您购买的所有 Packt Publishing 书籍的示例代码文件。如果您在其他地方购买了这本书,您可以访问http://www.packtpub.com/support并注册,以便将文件直接通过电子邮件发送给您。

勘误表

尽管我们尽了最大努力来确保我们内容的准确性,但错误还是会发生。如果你在我们的某本书里发现了错误——可能是文本或代码中的错误——如果你能向我们报告,我们将不胜感激。通过这样做,你可以让其他读者免受挫折,并帮助我们改进这本书的后续版本。如果您发现任何勘误表,请访问http://www.packtpub.com/submit-errata,选择您的书籍,点击勘误表提交表链接,并输入您的勘误表的详细信息。一旦您的勘误表得到验证,您的提交将被接受,勘误表将上传到我们的网站或添加到该标题勘误表部分下的任何现有勘误表列表中。

要查看之前提交的勘误表,请前往https://www.packtpub.com/books/content/support并在搜索栏中输入图书名称。所需信息将出现在勘误表部分。

盗版

互联网上版权材料的盗版是所有媒体的一个持续问题。在 Packt,我们非常重视版权和许可证的保护。如果您在互联网上遇到任何形式的我们作品的非法拷贝,请立即向我们提供位置地址或网站名称,以便我们寻求补救。

请通过<[copyright@packtpub.com](mailto:copyright@packtpub.com)>联系我们,获取疑似盗版资料的链接。

我们感谢您在保护我们的作者方面的帮助,以及我们为您带来有价值内容的能力。

问题

如果您对本书的任何方面有问题,可以在<[questions@packtpub.com](mailto:questions@packtpub.com)>联系我们,我们将尽最大努力解决问题。