zoukankan      html  css  js  c++  java
  • 网络编程-基于UDP协议套接字

    TCP传输数据可靠,收发数据需确认,接收这没确认将重新发送。采用数据流方式,不能发送空数据

    UDP传输数据不可靠,不管对方是否收到,优点,无需三次握手,效率高。采用数据报方式,可以发送空数据。UDP必须一发一收。

    UDP协议不会黏包

    server:

    from socket import *
    server=socket(AF_INET,SOCK_DGRAM)#数据报协议
    server.bind(('127.0.0.1',8090))#绑定端口,
    # server.listen(5)UDP无连接,则无监听
    # server.accept()UDP无需建连接
    while True:#通讯循环
        data,client_addr=server.recvfrom(1024)
        print(data)
        server.sendto(data.upper(),client_addr)
    server.close()

    client:

    from socket import *
    client=socket(AF_INET,SOCK_DGRAM)
    while True:
        msg=input('>>:').strip()
        client.sendto(msg.encode("utf-8"),('127.0.0.1',8090))#明确指定发给谁
    
        data,server_addr=client.recvfrom(1024)
        print(data)
    client.close()

    网络查询(ntp,dns),聊天消息等都是通过UDP实现

  • 相关阅读:
    第八周上机
    第七周作业
    第七周上机练习
    第六周作业
    第六次上机
    第五次上机
    第四周作业
    第四周上机练习
    第三次作业
    第二次作业
  • 原文地址:https://www.cnblogs.com/yaya625202/p/8964673.html
Copyright © 2011-2022 走看看