python socket 发生UDP 和 UDPServer接受UDP实例

embedded/2024/10/16 0:17:19/

python_UDP__0">python UDP 通信

udp__2">socket 发送udp 示例

import socket
import time# 初始化端口
self.ip_port = (host_msg,ip_port_msg)
# 创建 socket
self.client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)  
# 发送
self.client.sendto(self.msg,self.ip_port)
# 关闭 soceket
self.client.close()

UDPServer 用于接收 UDP 示例

# 继承  UDPServer 
class MyUDPServer(UDPServer):def __init__(self, server_address, RequestHandlerClass, queue):# 传递用于接受的队列self.udp_queue = queue  # UDPServer 实例化           地址          服务函数UDPServer.__init__(self, server_address, RequestHandlerClass, bind_and_activate=True)class Handler(BaseRequestHandler):def handle(self):self.data = self.request[0].strip()self.server.udp_queue.put(self.data)

class my_udp_server():def __init__(self,udp_queue):super().__init__()# 创建用于接受的队列self.queue = udp_queue# 创建服务,def open_udp_server(self,ip,port):  ADDR = ip, port#实例化 MyUDPServer 类self.UDPServer = MyUDPServer(ADDR, Handler, self.queue)  #创建线程,将UDPServer的serve_forever  传递进线程成中self.server_thread = threading.Thread(target=self.UDPServer.serve_forever)  #设置后台线程self.server_thread.setDaemon(True) #启动线程self.server_thread.start()   def close_udp_server(self):  #服务  shutdownself.UDPServer.shutdown()#关闭服务self.UDPServer.server_close()# 创建 队列用于接收
self.udp_queue= Queue(maxsize=5)
# 实例化 udp 服务
self.udp_server = my_udp_server(self.udp_queue)
# 打开服务
self.udp_server.open_udp_server("192.168.1.100",6000)
# 关闭服务
self.udp_server.close_udp_server()

http://www.ppmy.cn/embedded/102715.html

相关文章

MySQL 系统学习系列 - SQL 语句 DML 语句的使用《MySQL系列篇-02》

SQL语句DML 数据库DML操作 0. MySQL中大小写问题[tip]: 1.数据库名与表名是严格区分大小写的 (window不区分)2.表的别名是严格区分大小写的(如stu as s)(window不区分)3.列名忽略大小写4.变量名也是严格区分大小写 1. 插入数据 其中分别可…

Python网络编程:Web框架基础(Flask/Django)

Python作为一种功能强大且易于使用的编程语言,广泛应用于Web开发领域。Python的丰富生态系统中,有两个非常流行的Web框架:Flask和Django。本博文将详细介绍这两个框架的基础知识,并通过综合示例展示如何使用它们构建Web应用。 一…

qt 获取文件夹下及子文件夹所有exe文件

qt 获取文件夹下及子文件夹所有exe文件 ,直接上代码 void findExeFiles(const QString &startDirectory) { QDir dir(startDirectory); // 文件过滤器,只选择.exe文件 dir.setFilter(QDir::Files | QDir::NoDotAndDotDot); dir.setNam…

如何从索尼相机/ SD卡恢复已删除的照片/视频

如果您不小心从 Sony 相机或 SD 卡中删除了照片或视频,仍有机会恢复它们。更快的方法是使用专用的恢复工具,例如奇客数据恢复,它将恢复所有丢失的文件。 如果您已从Sony相机/ SD卡/ Handycam / Cyber shot / Xperia设备中删除了照片或视频&a…

代码随想录Day 23|回溯Part02,39.组合总和、40.组合总和Ⅱ、131.分割回文串

提示:DDU,供自己复习使用。欢迎大家前来讨论~ 文章目录 第七章 回溯算法part03一、题目题目一: 39. 组合总和解题思路:回溯三部曲剪枝优化小结: 题目二:40.组合总和Ⅱ解题思路:回溯三部曲 题目…

Python进阶02-面向对象高级

零、文章目录 Python进阶02-面向对象高级 1、面向对象的三大特性 面向对象的三大特性:封装、继承、多态 ① 封装:将属性和方法书写到类的里面的操作即为封装,封装可以为属性和方法添加私有权限。② 继承:子类默认继承父类的所有…

全场景——(五)Modbus 协议细节

文章目录 一、Modbus协议概述二、Modbus寄存器(存储区)2.1 存储区类型2.2 协议地址模型 三、Modbus常用功能码四、Modbus协议类型五、Modbus报文帧5.1 Modbus ASCII 模式5.2 Modbus RTU 模式5.3 串行报文帧总结: 六、Modbus 差错校验6.1 LRC校…

代码零风险:深信达SDC沙盒如何革新源代码防泄漏

当前信息技术迅速发展的环境下,企业对源代码安全的高度重视。源代码作为企业最宝贵的资产之一,其安全性直接关系到企业的竞争力和市场地位。源代码泄露不仅可能导致企业技术优势的丧失,还可能引发严重的经济损失和法律风险。因此,…