• UDP协议


    TOC

    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'))

    image-20191206170145478

    image-20191206170158856

    TCP/UDP协议对比

    TCP协议(称为流式协议)

    优点:

    • 数据安全

    缺点:

    • 传输速度慢
    • 黏包




  • 相关阅读:
    poj1228 Grandpa's Estate
    poj1113 Wall
    poj2826 An Easy Problem?!
    poj1269 Intersecting Lines
    poj3304 Segments
    BZOJ3832Rally题解
    BZOJ2802Warehouse Store题解
    李超树详解
    BZOJ4241历史研究题解
    洛谷2050 BZOJ2897美食节题解
  • 原文地址:https://www.cnblogs.com/cnhyk/p/12000696.html
Copyright © 2020-2023  润新知