网络编程

本章内容:

  • 简介:
  • 客户端服务器架构
  • 套接字:通信端点
  • Python中的网络模块
  • *SockServer模块
  • *Twisted 框架介绍:

2.1 简介

本节将简要介绍使用套接字进行网络编程的知识。 然而,在深入研究之前,将介绍一些有关网络编程的背景信息,以及套接字如何应用于Python中,然后展示如何使用Python的一些模块来创建网络应用程序。

2.2 客户端/服务器架构

什么是客户端/服务器架构?对不同的人来说,它意味着不同的东西,这取决于你问谁以及描述的是软件还是硬件系统。在这两种情况的任意一种下,前提都很简单:服务器就是一系列硬件或软件,为一个或多个客户端提供所需要的“服务”。它存在的唯一目的就是等待客户端的请求,并响应它们,然后等待更多请求。

另一方面,客户端因特定的请求联系服务器,并发送必要的数据,然后等待服务器的回应,最后完成请求或给出故障原因。服务器无限的运行下去,并不断地处理请求:而客户端会对服务进行一次性请求,然后接受该服务,最后结束它们之间的事务。客户端在一段时间后可能会再次发出其他请求,但这些被当做不同的事务。

2.2.1 硬件客户端/服务器架构

打印(打印机)服务器是硬件服务器的一个例子。它们处理传入的打印机作业并将其发送给系统的打印机(或其他的打印设备)。这样的计算机通常可以通过网络进行访问,并且客户端计算机将向它发送打印请求。

硬件服务器的另外一个例子就是文件服务器。这些通常都是拥有庞大通用存储容量的计算机,可以被客户端远程访问。客户端计算机会挂载服务器计算机的磁盘,看起来好像这个就在本地计算机上一样,支持文件服务器的一个最流行的的系统就是Sun公司的网络文件系统(NFS).如果正在访问一个网络磁盘驱动器,并且无法分辨它是在本地还是网络上,那么此时客户端/服务器系统以及完成了它的任务。它的目标就是让用户得到与访问本地磁盘一样的体验,抽象起来就是正常的磁盘访问,而这些都是通过编程确保这种方式进行。

2.2.2 软件客户端/服务器架构

有人看么??没有看我就不写了啊。。。手打太累咯

你可能感兴趣的:(网络编程)