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

  • 相关阅读:
    Apache Shiro 使用手册(二)Shiro 认证
    jdk 环境变量
    IDEA 相关整理
    mysql 相关命令
    hbase 迁库移库步骤
    Linux 常用指令整理
    springboot aop + logback + 统一异常处理 打印日志
    查看jar包的jdk版本
    maven 将jar包推送到自己本机的maven库
    jar包内的文件导出的注意点
  • 原文地址:https://www.cnblogs.com/yunluo/p/11568293.html
Copyright © 2011-2022 走看看