python 基础学习socket -UDP编程

什么是UDP

用户数据报协议(UDP:User Datagram Protocol)是一个简单的面向数据报的通信协议。UDP只提供数据的不可靠传递,它一旦把应用程序发给网络层的数据发送出去,就不保留数据备份。

UDP避免了协议栈中执行错误检查和纠正处理的开销,适用于对时间有较高要求的应用程序,因为某些场景下丢弃数据包比等待或重传导致延迟更可取。流媒体、在线游戏流量通常使用UDP传输。

UDP编程流程

案列:

UDP服务端:

python 复制代码
import socket

# 1、Create a UDP socket 创建UPD socket
#绑定IP地址和端口号
#接收来自客户端的数据
#发送数据给客户端
#关闭socket

udp_server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udp_server.bind(('0.0.0.0', 8888))

while True:
    data, addr = udp_server.recvfrom(1024)
    addr_ip = addr[0]
    addr_port = addr[1]
    print(f"接收到来自ip:{addr_ip}:{addr_port}的数据:{data.decode()}")
    udp_server.sendto(f"Hello, client!,接收到你的消息了!".encode(), addr)
udp_server.close()

UDP客户端

python 复制代码
import socket

# create a client UDP socket
#发送数据、接收数据都需要绑定IP地址和端口号
#关闭套接字后,不能再发送和接收数据


udp_client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
while True:
    data = input("请输入要发送的数据:")
    udp_client.sendto(data.encode('utf-8'), ("127.0.0.1", 8888))
    data, addr = udp_client.recvfrom(1024)
    print(f"接收到的数据:{data.decode('utf-8')}")
udp_client.close()
相关推荐
金銀銅鐵25 分钟前
[Python] 借助 turtle 逐字展示唐诗《金缕衣》
python
小弥儿2 小时前
GitHub今日热榜 | 2026-08-11:图原生基础设施首日登顶
学习·开源·github
Python大数据分析@2 小时前
使用大模型MCP采集数据,爬虫已经无门槛
python·网络爬虫
xiaoxiangsiyan2 小时前
HCIA 网络技术基础核心模块详解
运维·网络·网络协议·tcp/ip·运维开发·网络基础
quantdash_cc3 小时前
告别自建 Requests/BS4 网页爬虫:基于 QuantDash 搭建零维保的高性能量化行情流水线
开发语言·爬虫·python·pandas·量化·quantdash
65岁退休Coder3 小时前
LangChain v1.3.4 笔记 - 07 补充:链式调用 LCEL
后端·python·langchain
卷无止境3 小时前
FastAPI 部署在 Nginx 后面到底该怎么配
后端·python
半亩码田3 小时前
C#转Python第3.1篇:Python 的 class 没有访问修饰符?面向对象的另一条路
开发语言·python·c#
Wzx1980124 小时前
python沙箱和docker沙箱你选对了吗?
开发语言·python·docker
Python私教4 小时前
签名 URL 刷新导致审批失效?别急着删掉所有 query
python·安全