zoukankan      html  css  js  c++  java
  • 基于udp协议的套接字通信

    服务端:

    import socket
    
    server=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    server.bind(('127.0.0.1',8080))
    
    while True:
        res,client_addr=server.recvfrom(1024)
        # print(data)
        server.sendto(res.upper(),client_addr)

    客户端:

    import socket

    client=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

    while True:
    msg=input('>> ').strip()
    client.sendto(msg.encode('utf-8'),('127.0.0.1',8080))

    res,server_addr=client.recvfrom(1024)
    print(res)

    udp协议不会粘包:

    服务端:

    import socket
    
    server=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    server.bind(('127.0.0.1',8080))
    
    
    res1,client_addr=server.recvfrom(1024) #b'hello'
    print(res1)
    
    res2,client_addr=server.recvfrom(1024) #b'wolrd'
    print(res2)
    
    res3,client_addr=server.recvfrom(1024) #b'oldboy123456'
    print(res3)

    客户端:

    import socket
    
    client=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    
    client.sendto('hello'.encode('utf-8'),('127.0.0.1',8080))
    client.sendto('wolrd'.encode('utf-8'),('127.0.0.1',8080))
    client.sendto('oldboy123456'.encode('utf-8'),('127.0.0.1',8080))

    打印结果:

    b'hello'
    b'wolrd'
    b'oldboy123456'

    udp是无链接的,先启动哪一端都不会报错

  • 相关阅读:
    SPOJ 149 FSHEEP Fencing in the Sheep ( 计算几何 + 二分 )
    UVa 11806
    UVa 1445
    HDU 4725 The Shortest Path in Nya Graph( 建图 + 最短路 )
    HDU 4661 Message Passing ( 树DP + 推公式 )
    从远程库克隆库
    添加远程库
    远程仓库
    删除文件
    撤销修改
  • 原文地址:https://www.cnblogs.com/zh-xiaoyuan/p/11824303.html
Copyright © 2011-2022 走看看