站务联系

主页 > 新加坡 > 内容

微端服务器 Python之网络编程Client & Server

发布时间:2021-05-28   来源:网络整理    
字号:

本章内容

(1)简介

(2)客户端/服务器构架

(3)套接字:通信端点

(4)Python中的网络编程

(5)...

1. 简介

本节主要介绍使用套接字进行网路编程,但是在这深入研究之前,将介绍一些有关网路编程的背景信息,以及套接字在python中的应用。之后展示怎样使用python的一些模块争创网路应用程序。

2.客户端/服务器构架

客户端:客户端因特定的恳求而联系服务器,发送必要的数据,然后等候服务器的回应,最后完成恳求或是给出故障的成因。

服务器:一系列软件或硬件,为一个或多个客户端提供所需的服务,它存在的意义是等候客户端的恳求,并响应他们。

Python之网络编程Client & Server

Python之网络编程Client & Server

接下来和你们介绍软件客户端/服务器构架

Python之网络编程Client & Server

好啊!

我们举个实例,银行出纳员可以作为一个服务器,比如有这么一个中行出纳员,他不喝不吃,连续工作,服务一个接着一个顾客,排队的队伍可以太长,也可以空无一人,但是惟一可以确定的是,

他的工作不会休息,以前的话这些状况对于现实完全是一种幻想,但是目前ATM机器的形成不就是这么吗。

Python之网络编程Client & Server

哥哥,那你能介绍下服务器客户端的网路编程吗?

Python之网络编程Client & Server

可以

服务器在响应客户端之前,需要一些初步的步骤,也就是争创一个通讯端点,它还能让服务器窃听恳求,你可以理解为一个公司的前台,一旦会个面或通个话,服务就可以开始了。

其他详细程序实现俺上面再讲。

3.套接字:通信端点

套接字,也就是socket。它是计算机网路数据结构,它展现了前面提及过的“通讯端点",你可以将它称作是电话的插座,Python只支持AF_UNIX、AF_NETLINK、AF_TIPC、AF_INET,这里的AF指的是地址家族(address family)

说到这个,不得不说主机-端口对

就像是区号跟电话号码的组合,有效的端口号范围为0~65535,虽然大于1024的端口的地址是留给系统的。

也谈谈面向连结的套接字与无连结的套接字

不管选用的是哪种地址家族,都有两种不同色调的套接字连结,对于面向连结的通讯,人们更为熟知的是TCP,它应当使用SOCK_STREAM作为套接字类别,一般只是AF_INET。对于无连结的通讯,就是UDP,它使用的就是SOCK_DGRAM作为套接字类别。

Python中的网络编程

创建套接字微端服务器,必须使用socket.socket()函数微端服务器,它的句型

socket(socket_family, socket_type, protocol=0)

其中socket_family 是AF_INET或AF_UNIX,

socket_type是SOCK_STREAM或SOCK_DGRAM。protocol一般省略,默认为0。

为了争创TCP/IP套接字,可以用下边的方法读取socket.socket()

tcpSock = socket.socket(socket.AF_INET,SOCK_STREAM)

为了争创UDP/IP套接字,可以用下边的方法读取socket.socket()

udpSock = socket.socket(socket.AF_INET,SOCK_DGRAM)

可以使用from socket import *

这样就弄成:

tcpSock = socket(socket.AF_INET,SOCK_STREAM)

Python中的网路编程,包含套接字对象的方式,例如s.bind(),s.listen(),s.accept()等,还有怎么争创TCP/UDP的客户端,服务器端,以及他们的执行,socket的模块的详细属性,我再下一章节整理一下。

图说天下

×
织梦二维码生成器