第1章 客户端/服务器网络编程简介

本书将带领读者使用Python语言探索网络编程。全书涵盖了网络编程的基本概念、模块以及第三方库,这些第三方库在使用流行互联网通信协议与远程机器进行通信时可能会用到。

本书并不适用于未使用过Python语言甚至未编写过计算机程序的读者,因为书中并不教授如何使用Python语言进行编程。本书假设读者已经通过相关资料对Python编程有所了解。我希望书中的Python示例能够帮助读者了解如何组织并编写自己的代码,但我会不加解释地大量使用各种高级的Python特性。不过,在遇到一些我认为尤其有趣或巧妙的用法时,我也会指出并加以说明。

另一方面,本书并不预设读者有任何网络知识!只要使用过浏览器或者发送过电子邮件,就完全可以从头开始阅读本书并循序渐进地学习计算机网络。本书会从应用开发者的角度来介绍网络:一是从实现一个网络连接服务的角度,例如网站、邮箱服务器或者网络游戏;二是从编写使用服务的客户端程序的角度。

然而,需要注意的是,本书并不教授如何建立或配置网络。网络设计、服务器管理以及自动化配置都是内容丰富的主题,并且与本书涉及的计算机编程内容没有重复。随着在OpenStack、SaltStack和Ansible中的大量应用,Python确实已经在自动化配置领域得到了广泛的应用。尽管如此,如果读者想深入学习配置运维相关的技术,还是应该寻找专门介绍这方面技术的书籍和文档。

目录