zoukankan      html  css  js  c++  java
  • udp协议和socketsever

    udp协议

    服务端

    import socket
    
    server = socket.socket(type=socket.SOCK_DGRAM)
    
    server.bind(('127.0.0.1', 8080))
    while True:
        data, addr = server.recvfrom(1024)
        print(data)
        server.sendto(data.upper(), addr)
    

    客户端

    import socket
    
    client = socket.socket(type=socket.SOCK_DGRAM)
    
    while True:
        content = input('请输入你要发送的消息>>>')
        client.sendto(content.encode('utf-8'),('127.0.0.1', 8080))
        data = client.recvfrom(1024)
        print(data)
    

    UDP协议是否粘包

    UDP协议没有粘包,但可能存在丢包

    粘包问题

    客户端

    import socket
    
    client = socket.socket(type=socket.SOCK_DGRAM)
    
    client.sendto('xiaowu'.encode('utf-8'), ('127.0.0.1', 8080))
    client.sendto('guapi'.encode('utf-8'), ('127.0.0.1', 8080))
    client.sendto('gouyi'.encode('utf-8'), ('127.0.0.1', 8080))
    client.sendto(''.encode('utf-8'), ('127.0.0.1', 8080))
    

    服务端

    import socket
    
    server = socket.socket(type=socket.SOCK_DGRAM)
    server.bind(('127.0.0.1', 8080))
    
    while True:
        data, addr = server.recvfrom(1024)
        print(data)
        server.sendto(data.upper(), addr)
    

    丢包问题

    UDP协议的客户端和服务端,不会管客户端和服务端是否收到,只负责发消息,因此不可靠和存在丢包问题

    socketserver

    基于TCP的socketserver

  • 相关阅读:
    Android开发中常见的错误
    使用命令行的方式向GitHub中上传本地项目
    jmeter保存测试结果到文件
    转 Jmeter参数化的4种方法
    键盘各键对应的编码值(key)
    CacheHelper对缓存的控制
    Oracle存储过程
    Oricle中SQL语法
    python学习资料百度网盘分享
    一些网站学习的链接
  • 原文地址:https://www.cnblogs.com/yunluo/p/11568293.html
Copyright © 2011-2022 走看看