python中UDP编程实现通信

美女程序员鼓励师

本文教程操作环境: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编程实现通信 的全部内容, 来源链接: utcz.com/z/543166.html

回到顶部