• 技术文章 >Python技术 >Python基础教程

    python中UDP编程实现通信

    小妮浅浅小妮浅浅2021-04-08 09:19:43原创2371

    本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    1、服务器端

    recvfrom()方法返回数据和客户端的地址与端口,这样,服务器收到数据后,直接调用sendto()就可以把数据用UDP发给客户端。

    # coding:utf-8
    import socket
    # 创建套接字
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    # 绑定地址和端口
    addr = '127.0.0.1'
    port = 9999
    s.bind((addr,port))
    print("Bind UDP on",port)
    # 数据处理
    while True:
        data, addr = s.recvfrom(1024)
        print("Receive data from %s:%s" % addr)
        s.sendto(b"Hello, %s!" % data, addr)

    2、客户端

    客户端使用UDP时,首先仍然创建基于UDP的Socket,然后,不需要调用connect(),直接通过sendto()给服务器发数据:

    # coding:utf-8
    import socket
    addr = '127.0.0.1'
    port = 9999
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    for data in [b'Hello', b'world!']:
        s.sendto(data,(addr, port))
        print(s.recv(1024).decode('utf-8'))
    s.close()

    我们知道想要实现数据之间的传递,会有用户和服务方的产生。由用户提供需求,服务方把成果反馈给用户。本篇就UDP编程在通信的过程分为两个部分:服务器端和客户端。

    以上就是python中UDP编程实现通信的方法,大家可以先就两种不同的端口进行学习,然后再分别尝试代码的运行部分。

    专题推荐:python,udp编程
    品易云
    上一篇:python UDP编程是什么意思? 下一篇:TCP在python中如何连接服务器?

    相关文章推荐

    • 五分钟搞定Python网络编程实现TCP和UDP连接• python udp不能接收数据怎么解决?• python UDP编程是什么意思?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网