Python启动UDP服务,监听并接收客户端数据

可以使用Python的socket库实现UDP协议的验证,以下是一个简单的示例代码:

服务器:

[root@localhost python]# cat udp_server.py 
import socket# 创建一个UDP socket
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 绑定到本地 IP 和端口
local_addr = ('192.168.6.211', 8888)
udp_socket.bind(local_addr)print('UDP server is listening...')while True:# 接收数据data, addr = udp_socket.recvfrom(1024)print(f'Received data from {addr}: {data.decode()}')# 回复数据reply = 'Received: ' + data.decode()udp_socket.sendto(reply.encode(), addr)[root@localhost python]#

客户端

[root@localhost python]# cat udp_server.py 
import socket# 创建一个UDP socket
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 发送数据
remote_addr = ('192.168.6.211', 8888)
udp_socket.sendto('Hello, UDP!'.encode(), remote_addr)# 接收数据
data, addr = udp_socket.recvfrom(1024)
print(f'Received data from {addr}: {data.decode()}')# 关闭 socket
udp_socket.close()[root@localhost python]#

以上代码创建了一个UDP socket,并绑定到本地的IP和端口8888。接着使用recvfrom()方法接收数据,并使用sendto()方法发送数据。最后,关闭socket。

可以使用两个终端分别运行该程序,并观察数据的传输情况,从而验证UDP协议的可靠性。

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/18420.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(赠书活动第4期)编译语言的思考过程

面向对象编程(Object-Oriented Programming,简称OOP)是一种广泛应用于编程领域的编程范式,对于前端和后端开发都具有重要意义。在这篇说明中,我们将探讨面向对象编程对于前端和后端开发的重要性,并探讨其优…

云和DevOps如何帮助加速数字化转型?

1.云和 DevOps:概述 数字化转型已成为寻求在现代时代蓬勃发展的企业的一项关键举措。为了加速这一转型,组织正在利用云计算的力量并采用DevOps实践。云计算提供可扩展且灵活的基础架构,而 DevOps 则支持协作和持续交付的文化。本文将探讨云和…

迭代读取文件

使用 torch.utils.data.dataset.Dataset 收集数据信息,创建数据集。 使用 import torch.utils.data.dataloader 创建一个可以批量迭代的数据载入器,并通过 for 循环批量读取所有文件的数据。 import torch.utils.data.dataset as dataset import torch…

【ELK企业级日志分析系统】部署Filebeat+ELK详解

部署FilebeatELK详解 1. 部署Filebeat节点(CentOS 7-4)1.1 部署Apache服务1.2 部署Filebeat服务 2. filter插件2.1 grok正则捕获插件2.1.1 内置正则表达式调用2.1.2 自定义表达式调用2.1.3 设置正则表达式过滤条件 2.2 mutate数据修改插件2.2.1 Mutate过…

knife4j实现微服务swagger文档聚合

使用knife4j实现分布式swagger文档聚合 在项目开发过程中,接口文档的使用是在所难免的,但是在微服务场景下,多个服务之间的swagger是分散的,虽然swagger提供了微服务的聚合方式,配置过于繁琐,加之swagger本身的功能比较少,而且ui布局也比较蛋痛,此处推荐一款新框架用于增强swa…

Element UI组件中el-col、el-row布局学习笔记

一、简介 el-col:列。是Element UI布局中的核心组件,他的作用的将一行分成24个网格,为了方便我们在不同的设备上适配不同的屏幕大小。我们可以通过指定span属性来确定一行中所占的网格数。 el-row:行。包裹在el-col外层&#xf…

Matlab 入门简介

MATLAB 的工作界面默认布局自定义布局历史记录窗口调用以前运行过的语句 常用操作1. 清除操作clc 效果clear 效果clfclf 帮助文档clf 效果 close 效果 2. 帮助 Matlab 中的数据结构矩阵的数据访问向量化操作的内置函数 常量与变量1. 常量表2. 变量的命名规则3. 语句的常见形式 …

CVE-2023-23752-Joomla权限绕过漏洞研判分析

CVE-2023-23752-Joomla权限绕过漏洞分析 简介 Joomla是一个开源免费的内容管理系统(CMS),基于PHP开发。 在其4.0.0版本到4.2.7版本中,存在一处属性覆盖漏洞,导致攻击者可以通过恶意请求绕过权限检查,访问…

day31-EMP项目实战(servlet+jsp)

0目录 EMP项目实战(servletjsp) 1. 1. 创建maven工程,导入依赖,创建service(服务包),dao(持久包),servlet(控制包),enti…

华大HC32F460 TCP Server实验

目录 1.实验目标 2.实验准备 3.主流程图 4.驱动代码 5.实验步骤 1.实验目标 本实验使用W5500服务器功能,通过串口实现与本地客户端透传数据。 2.实验准备 硬件搭建:ZW-HC32F460-BZ标准版开发板1套 软件搭建:MDK5.22 3.主流程图 4.驱动…

CopyOnWriteArrayList使用以及原理分析

文章目录 一、CopyOnWriteArrayList的简介二、CopyOnWriteArrayList类的继承关系1、Iterable接口:2、Collection接口:3、List接口:4、Cloneable接口:5、Serializable接口:6、RandomAccess接口: 三、CopyOnW…

Java 匿名对象

一、简介 1.1.含义 没有名字的对象 。以常规的创建对象的方法: AtomicInteger atomicInteger new AtomicInteger(100000);格式: 类名 变量名 new 类名(); 这样就完成了对象的创建。注意:()内可以无参数&#xff0c…