当前位置: 首页 > news >正文

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

python UDP 通信

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()

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 快速绘制思维导图:高效思考与信息整理的利器
  • LeetCode 热题 100 回顾
  • Qt详解QUrl
  • MS sqlserver备份软件 SQLBackupAndFTP
  • 开源模型应用落地-LlamaIndex学习之旅-LLMs-集成OpenAI(一)
  • Pictory AI——博客、文章等内容转换为视频,自动适配动态画面和字幕
  • 【STM32 Blue Pill编程】-UAR数据接收与发送(中断模式)
  • 力扣52-最大子序和(java详细题解)
  • sql查询之“列命名问题“
  • Qdrant官方快速入门和教程简化版
  • RocketMQ第5集
  • Flutter ListView滑动
  • noexcept关键字
  • 【通俗理解】Transformer哈希机制——序列数据的情感搅拌机
  • 基于SpringBoot的财务管理系统
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  •  D - 粉碎叛乱F - 其他起义
  • ERLANG 网工修炼笔记 ---- UDP
  • ES6 ...操作符
  • Javascript Math对象和Date对象常用方法详解
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • nginx 配置多 域名 + 多 https
  • scala基础语法(二)
  • 初识 webpack
  • 订阅Forge Viewer所有的事件
  • 检测对象或数组
  • 简单易用的leetcode开发测试工具(npm)
  • 前端工程化(Gulp、Webpack)-webpack
  • 区块链分支循环
  • 如何合理的规划jvm性能调优
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 如何在 Tornado 中实现 Middleware
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 应用生命周期终极 DevOps 工具包
  • No resource identifier found for attribute,RxJava之zip操作符
  • 1.Ext JS 建立web开发工程
  • Semaphore
  • ​渐进式Web应用PWA的未来
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (12)Linux 常见的三种进程状态
  • (2015)JS ES6 必知的十个 特性
  • (7)摄像机和云台
  • (AngularJS)Angular 控制器之间通信初探
  • (javaweb)Http协议
  • (第27天)Oracle 数据泵转换分区表
  • (二)Kafka离线安装 - Zookeeper下载及安装
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (图文详解)小程序AppID申请以及在Hbuilderx中运行
  • (未解决)macOS matplotlib 中文是方框
  • (五)IO流之ByteArrayInput/OutputStream
  • (一)Neo4j下载安装以及初次使用