• udp协议


    udp协议

    #udp客户端
    # import socket
    # #udp
    # client=socket.socket(type=socket.SOCK_DGRAM)
    #
    #
    # #直接发
    # client.sendto(b'lqz',('127.0.0.1', 8003))
    # data=client.recvfrom(1024)
    # print(data)
    
    #加入通信循环
    import socket
    #udp
    client=socket.socket(type=socket.SOCK_DGRAM)
    
    while True:
        msg=input('>>:')
        #直接发
        client.sendto(msg.encode('utf-8'),('127.0.0.1', 8003))
        data=client.recvfrom(1024)
        print(data)
    
    #udp服务端
    
    # 基础版本
    # import socket
    # #udp
    # server=socket.socket(type=socket.SOCK_DGRAM)
    #
    # server.bind(('127.0.0.1', 8003))
    # # udp不要建立连接,直接发
    # #需不需要监听?
    # #跟tcp的不是一样的
    # # data=server.recvfrom(1024)
    # data,addr=server.recvfrom(1024)
    # #data 是个元组,第一个参数是数据不部分,第二个参数是客户端地址
    # print(data)
    # server.sendto(data.upper(),addr)
    
    
    #加入通信循环
    
    import socket
    #udp
    server=socket.socket(type=socket.SOCK_DGRAM)
    
    server.bind(('127.0.0.1', 8003))
    
    while True:
        data,addr=server.recvfrom(1024)
        print(data)
        server.sendto(data.upper(),addr)
    

    udp协议是否粘包

    #udp服务端
    
    
    #udp 协议没有粘包问题(udp协议又叫数据报协议),可以发空,tcp不行
    import socket
    server=socket.socket(type=socket.SOCK_DGRAM)
    
    server.bind(('127.0.0.1', 8003))
    while True:
        data,addr=server.recvfrom(1024)
        print(data)
        server.sendto(data.upper(),addr)
    
    # data,addr=server.recvfrom(1024)
    # print(data)
    # data,addr=server.recvfrom(1024)
    # print(data)
    # data,addr=server.recvfrom(1024)
    # print(data)
    # data,addr=server.recvfrom(1024)
    # print(data)
    
    #udp的客户端
    
    import socket
    #udp
    client=socket.socket(type=socket.SOCK_DGRAM)
    
    # while True:
    #     msg=input('>>:')
    #     #直接发
    #     client.sendto(msg.encode('utf-8'),('127.0.0.1', 8003))
    #     data=client.recvfrom(1024)
    #     print(data)
    
    client.sendto('lqz'.encode('utf-8'),('127.0.0.1', 8003))
    client.sendto('hello'.encode('utf-8'),('127.0.0.1', 8003))
    client.sendto('world'.encode('utf-8'),('127.0.0.1', 8003))
    client.sendto(''.encode('utf-8'),('127.0.0.1', 8003))
    #不沾包
    
    #udp的客户端丢包
    
    import socket
    #udp 不会管客户端或者服务端是否收到,它只管发,所以不可靠
    client=socket.socket(type=socket.SOCK_DGRAM)
    
    while True:
        msg=input('>>:')
        #直接发
        client.sendto(msg.encode('utf-8'),('127.0.0.1', 8003))
        # data=client.recvfrom(1024)
        # print(data)
    
    
    
    #udp特点
        #-可以发空(数据报协议,自带头)
        #-客户端和服务端可以有一方没在线(因为不需要建立连接)
    
  • 相关阅读:
    看《到了30岁还是处男,似乎会变成魔法师》有感
    2021-1-6复习js的基础知识点
    2020-1-5的学习内容总结
    javascript
    css
    HTML
    语音红包小程序开发项目建议以及营销玩法
    3天小程序快速入门教程+案例demo,免费索取!
    关于微擎小程序的操作的步骤,如何上传小程序?
    获取微信公众号文章封面图的技巧/网站
  • 原文地址:https://www.cnblogs.com/aden668/p/11492668.html
Copyright © 2020-2023  润新知