翻译仅为个人学习,商业版权与此无关!::-- ["Roka"] TableOfContents
20章. 套接字和服务器端网络协议模块
- 互联网通信程序通常使用套接字对象。和我们在[:../Ch-19:19章]提到的较高级客户端模块的包装一样, Python库通过socket模块提供套接字支持 。为了帮助我们编写服务器程序,Python库同样提供一些较高级的上层模块来作为套接字服务器的基本框架。官方模块、第三方Python模块和扩展模块还提供异步套接字操作。本章将在521页“[:../Ch-20.1:套接字模块]”中介绍套接字,在528页“[:../Ch-20.2:套接字服务器模块]”中介绍服务器端套接字框架模块,在533页“事件驱动型套接字程序”中介绍使用Python基本库的异步操作;并且在539页“[:../Ch-20.3:Twisted框架]”中从本质上介绍丰富而强大的Twisted第三方库。
- 本章中介绍的模块与C语言级的套接字编程相比有很多便利之处。但是最后模块还是依赖于由底层操作系统提供的本地套接字功能。虽然使用[:../Ch-19:19章]介绍的模块就已经能够编写出高效的网络客户端而不需要真正了解套接字,但是编写高效的网络服务器有时却需要理解套接字。那么我们就要在这一章介绍较底层的socket模块,而不是在[:../Ch-19:19章]。虽然客户端和服务器都是使用套接字的。
- 但是,我只能介绍如何使用socket模块;我不会涉及到套接字的底层理解、TCP/IP以及其他使用Python的网络应用,这样你可能会从功能上了解套接字的使用。要了解底层套接字在各种平台上的详细信息,我推荐 W. Richard Stevens的Unix Network Programming 卷1 (Prentice Hall)。上层模块会更易用且强大,但是了解底层套接字技术总是有帮助的,并且有时是不可缺少的。
讨论 Discussion
评译
- ["技术文档分类"]