UDP协议
udp协议
称之为数据包协议,不需要建立连接,不需要知道对方是否收到,无需先启动服务端在启动客户端。
缺点
- 数据不安全,容易丢失
优点
- 传输速度快
- 能支持并发
- 不会粘包
应用场景:早期的QQ聊天室
# 服务端
import socket
# socket.SOCK_DGRAM---> UDP协议
server = socket.socket(type=socket.SOCK_DGRAM)
# 服务端需要绑定一个地址,让别人知道你在哪里
server.bind(('localhost', 9527))
while True:
    # 发送数据给服务端的用户地址
    # 因此此处接收的是来自客户端的消息和地址
    data, addr = server.recvfrom(1024)
    print(addr)
    print(data.decode('utf-8'))
    mes = input('>>>').strip()
    # 无论服务端还是客户端,发送消息时,都必须知道对方是谁
    server.sendto(mes.encode('utf-8'), addr)
# 客户端
import socket
client = socket.socket(type=socket.SOCK_DGRAM)
# 此处的ip和端口号是服务的端的IP和端口号
address = ('localhost', 9527)
while True:
    data = input('>>>').strip()
    client.sendto(data.encode('utf-8'), address)
    # 接收服务端的数据
    data, addr = client.recvfrom(1024)
    print(data.decode('utf-8'))TCP/UDP协议对比
TCP协议(称为流式协议)
优点:
- 数据安全
缺点:
- 传输速度慢
- 黏包

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号