【从零学习python 】74. UDP网络程序:端口问题与绑定信息详解

简介: 【从零学习python 】74. UDP网络程序:端口问题与绑定信息详解

udp网络程序-端口问题

在运行 UDP 网络程序时,会遇到端口号会变化的情况。

每次重新运行网络程序后,可以观察到运行中的“网络调试助手”显示的数字是不同的。这是因为该数字标识了网络程序的唯一性,系统在重新运行时会随机分配端口号。

需要注意的是,在网络程序运行过程中,该数字(即端口号)用于标识该程序。因此,如果其他计算机上的网络程序想要向该程序发送数据,就需要将数据发送到该数字所标识的程序。

UDP绑定信息

<1>. 绑定信息

通常情况下,一台计算机上会同时运行多个网络程序。为了避免与其他网络程序占用相同的端口号,一般情况下UDP的端口号是不绑定的。但如果要创建一个服务器端的程序,就需要进行绑定。那么,为什么需要进行绑定呢?可以这样理解:如果报警电话的号码每天都变化,那么世界就会一片混乱。因此,服务型的程序通常需要一个固定的端口号,这就是所谓的端口绑定。

<2>. 绑定示例

from socket import *
# 1. 创建套接字
udp_socket = socket(AF_INET, SOCK_DGRAM)
# 2. 绑定本地的相关信息,如果一个网络程序不绑定,则系统会随机分配
local_addr = ('', 7788) #  ip地址和端口号,ip一般不用写,表示本机的任何一个ip
udp_socket.bind(local_addr)
# 3. 等待接收对方发送的数据
recv_data = udp_socket.recvfrom(1024) #  1024表示本次接收的最大字节数
# 4. 显示接收到的数据
print(recv_data[0].decode('gbk'))
# 5. 关闭套接字
udp_socket.close()

<3>.运行结果:

总结

一个UDP网络程序可以选择不进行绑定,此时操作系统会随机分配一个端口号。如果重新运行该程序,端口号可能会发生变化。

另外,一个UDP网络程序也可以绑定信息(如IP地址、端口号)。如果绑定成功,操作系统就会利用该端口号来区别接收到的网络数据是否属于该进程。

相关文章
|
25天前
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
|
23天前
|
存储 数据采集 数据库
用 Python 爬取淘宝商品价格信息时需要注意什么?
使用 Python 爬取淘宝商品价格信息时,需注意法律和道德规范,遵守法律法规和平台规定,避免非法用途。技术上,可选择 Selenium 和 Requests 库,处理反爬措施如 IP 限制、验证码识别和请求频率控制。解析页面数据时,确定数据位置并清洗格式。数据存储可选择 CSV、Excel、JSON 或数据库,定期更新并去重。还需进行错误处理和日志记录,确保爬虫稳定运行。
|
23天前
|
数据采集 Web App开发 iOS开发
如何利用 Python 的爬虫技术获取淘宝天猫商品的价格信息?
本文介绍了使用 Python 爬虫技术获取淘宝天猫商品价格信息的两种方法。方法一使用 Selenium 模拟浏览器操作,通过定位页面元素获取价格;方法二使用 Requests 和正则表达式直接请求页面内容并提取价格。每种方法都有详细步骤和代码示例,但需注意反爬措施和法律法规。
|
1月前
|
小程序 Python
利用Python编程提取身份证的信息
利用Python编程提取身份证的信息
|
1月前
|
IDE 开发工具 数据安全/隐私保护
Python编程--实现用户注册信息写入excel文件
Python编程--实现用户注册信息写入excel文件
|
1月前
|
Python
Python实现系统基础信息
Python实现系统基础信息
32 0
|
1月前
|
运维 安全 网络协议
Python 网络编程:端口检测与IP解析
本文介绍了使用Python进行网络编程的两个重要技能:检查端口状态和根据IP地址解析主机名。通过`socket`库实现端口扫描和主机名解析的功能,并提供了详细的示例代码。文章最后还展示了如何整合这两部分代码,实现一个简单的命令行端口扫描器,适用于网络故障排查和安全审计。
|
6月前
|
开发者 索引 Python
实践:如何使用python在网页的表格里抓取信息
实践:如何使用python在网页的表格里抓取信息
|
SQL 关系型数据库 数据库连接
使用python3抓取pinpoint应用信息入库
使用python3通过pinpoint api来获取pinpoint中应用基础信息、上下游链路,并入库
1968 0
|
数据采集 供应链 机器人
Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务
Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务
449 0
Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务