Python Socket 编程详细介绍

Python 提供了两个基本的 socket 模块:

Socket它提供了标准的BSD Socket API。

SocketServer它提供了服务器重心,可以简化网络服务器的开发。

下面讲解下 Socket模块功能。

Socket 类型

套接字格式:socket(family, type[,protocal]) 使用给定的套接族,套接字类型,协议编号(默认为0)来创建套接字

 

Python Socket 编程详细介绍_第1张图片

创建TCP Socket:

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

创建UDP Socket:

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

Socket 函数

TCP发送数据时,已建立好TCP链接,所以不需要指定地址,而UDP是面向无连接的,每次发送都需要指定发送给谁。

服务器与客户端不能直接发送列表,元素,字典等带有数据类型的格式,发送的内容必须是字符串数据。

服务器端 Socket 函数

 

Python Socket 编程详细介绍_第2张图片

客户端 Socket 函数

 

Python Socket 编程详细介绍_第3张图片

公共 Socket 函数

 

Python Socket 编程详细介绍_第4张图片

Socket 编程思想

TCP 服务器 1、创建套接字,绑定套接字到本地IP与端口

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

s.bind()

2、开始监听链接

s.listen()

3、进入循环,不断接受客户端的链接请求

WhileTrue:

    s.accept()

4、接收客户端传来的数据,并且发送给对方发送数据

s.recv()

s.sendall()

5、传输完毕后,关闭套接字

s.close()

TCP 客户端 1、创建套接字并链接至远端地址

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

s.connect()

2、链接后发送数据和接收数据

s.sendall()

s.recv()

3、传输完毕后,关闭套接字

Server端socket:

 

Python Socket 编程详细介绍_第5张图片

Client端:

 

Python Socket 编程详细介绍_第6张图片

你可能感兴趣的:(python)