DUP
1.UDP概念
UDP:英文全拼(User Datagram Protocol)简称用户数据报协议,它是无连接的、不可靠的网络传输协议。
2.UDP特点
-无连接
-资源开销小
-传输速度快
-udp每个数据包最大为64k
3.UDP的优缺点
优点:
-传输速度快
-不需要连接,资源开销小
缺点:
-传输数据不可靠,容易丢数据包
-没有流量控制,需要对方一直接受数据
4.应用场景
qq微信的 语音视频传输
广播消息
创建一个基于udp的网络程序流程很简单,具体步骤如下:
1.创建客户端套接字
2.发送/接收数据
3.关闭套接字
import socket
socket.socket(AddressFamily, Type)
SOCKET
socket(简称 套接字) 是进程间通信一个工具,它能实现把数据从一方传输到另外一方,完成不同电脑上进程之间的通信, 它好比数据的搬运工。
import socket
创建udp套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)2. 准备接收方的地址
‘192.168.1.103’表示目的ip地址 8080表示目的端口
dest_addr = (‘192.168.1.103’, 8080) # 注意 是元组,ip是字符串,端口是数字从键盘获取数据
send_data = input(“请输入要发送的数据:”)4. 发送数据到指定的电脑上的指定程序中
udp_socket.sendto(send_data.encode(‘utf-8’), dest_addr)
关闭套接字
udp_socket.close()
发送和接收数据
import socket
创建udp套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)准备接收方的地址
dest_addr = (‘192.168.236.129’, 8080)从键盘获取数据
send_data = input(“请输入要发送的数据:”)发送数据到指定的电脑上
udp_socket.sendto(send_data.encode(‘utf-8’), dest_addr)
等待接收对方发送的数据
recv_data = udp_socket.recvfrom(1024) # 1024表示本次接收的最大字节数显示对方发送的数据
接收到的数据recv_data是一个元组
第1个元素是对方发送的数据
第2个元素是对方的ip和端口
print(recv_data[0].decode(‘gbk’))
print(recv_data[1])关闭套接字
udp_socket.close()