本文教程操作环境: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库实现绘制3D图形?11/18
- ♥ python真的那么受欢迎吗?10/14
- ♥ 为什么我不能在终端中运行 python?09/16
- ♥ 如何保存编写的python脚本08/23
- ♥ python可以确定对象的类型吗?11/19
- ♥ python如何定义一个接受参数的函数01/07
内容反馈