zoukankan      html  css  js  c++  java
  • 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协议(称为流式协议)

    优点:

    • 数据安全

    缺点:

    • 传输速度慢
    • 黏包




  • 相关阅读:
    php apc
    nginx https
    js弹出确认框,挺全
    websocket nodejs
    nodejs express测试
    【C++】Mandelbrot集绘制(生成ppm文件)
    【Scheme】Huffman树
    【Scheme】符号求导
    【Scheme】树结构
    【Scheme】序列的操作
  • 原文地址:https://www.cnblogs.com/cnhyk/p/12000696.html
Copyright © 2011-2022 走看看