Python UDP网络编程:发送与接收数据完整示例

沈知远
沈知远
发布时间:2026-10-13| 5人浏览过
原创

本文详细介绍如何使用Python实现基于UDP协议的网络程序。通过具体代码示例,演示了如何创建UDP套接字、指定目标地址与端口、发送数据以及关闭连接。此外,还涵盖了实现双向通信(同时发送和接收数据)的方法,包括使用recvfrom接收响应及处理编码解码,适合Python初学者掌握基础网络通信技能。

Python UDP网络编程概述

本文通过具体实例,讲解如何利用Python实现基于UDP协议的网络程序,完成数据的发送与接收功能。内容供读者参考学习。

UDP程序:仅发送数据实现

1. UDP网络程序:仅发送数据

构建一个基础的UDP客户端网络程序流程较为直接,主要包含以下步骤:

  • 第一步:创建客户端套接字
  • 第二步:执行数据的发送与接收操作
  • 第三步:关闭套接字以释放资源

发送数据代码示例

具体实现代码如下:


#coding=utf-8

from socket import *

# 1. 创建udp套接字
udp_socket = socket(AF_INET, SOCK_DGRAM)

# 2. 准备接收方的地址
# '192.168.1.103'表示目的ip地址
# 8080表示目的端口
dest_addr = ('192.168.1.103', 8080) # 注意 是元组,ip是字符串,端口是数字

# 3. 从键盘获取数据
send_data = input("请输入要发送的数据:")

# 4. 发送数据到指定的电脑上的指定程序中
udp_socket.sendto(send_data.encode('utf-8'), dest_addr)

# 5. 关闭套接字
udp_socket.close()

运行环境测试

程序运行效果如下:

在Ubuntu系统环境下运行上述Python脚本:

在Windows系统中,使用“网络调试助手”工具配合测试:

UDP程序:双向收发数据实现

2. UDP网络程序:发送与接收数据(双向通信)


#coding=utf-8

from socket import *

# 1. 创建udp套接字
udp_socket = socket(AF_INET, SOCK_DGRAM)

# 2. 准备接收方的地址
dest_addr = ('192.168.236.129', 8080)

# 3. 从键盘获取数据
send_data = input("请输入要发送的数据:")

# 4. 发送数据到指定的电脑上
udp_socket.sendto(send_data.encode('utf-8'), dest_addr)

# 5. 等待接收对方发送的数据
recv_data = udp_socket.recvfrom(1024) # 1024表示本次接收的最大字节数

# 6. 显示对方发送的数据
# 接收到的数据recv_data是一个元组
# 第1个元素是对方发送的数据
# 第2个元素是对方的ip和端口
print(recv_data[0].decode('gbk'))
print(recv_data[1])

# 7. 关闭套接字
udp_socket.close()

双向通信代码示例

实现双向通信的Python脚本如下:

网络调试助手界面的截图展示:

相关资源推荐

如需了解更多Python相关技术,可参考本站系列教程:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》以及《Python文件与目录操作技巧汇总》。

希望上述内容能对您的Python程序设计工作提供有益帮助。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。