Flow使用笔记

Flow是什么 Flow用于表达多个连续的异步过程。 实现方式为使用协程封装成生产者消费者模式,上游流负责生产,下游流负责消耗。 Flow创建 创建 fun simpleFlow() = flow { for (i in 1..3) { delay(100) emit(i) } } 消费 fun createFlowTest() { runBloc

前端 HTTP 客户端中判断响应数据接收完成的完整指南

文章目录 一、基础概念:HTTP 数据传输机制 1.1 HTTP 消息传输原理 1.2 常见场景分类 二、原生 Fetch API 中的判断方法 2.1 基于 Response 对象 2.2 流式读取数据 三、XMLHttpRequest 的判断方法 3.1 传统事件监听方式 3.2 判断逻辑详解 四、Axios 中的判断

【架构】基于 WebSocket 的即时通讯系统设计与实现 —— 以 Fiz-EIM 平台为例

一、即时通讯技术背景与 WebSocket 优势 在数字化办公场景深度渗透的当下,即时通讯(IM)系统已成为企业协作架构的核心组件。传统基于 HTTP 轮询的实时通信方案,因存在300ms-1s 级响应延迟、20%-30% 无效网络请求等问题,难以满足现代协作对 "秒级响应" 的需求。WebSocket 协议作

计算机网络-----详解网络原理TCP/IP(上)

文章目录 📕1. UDP协议 ✏️1.1 UDP的特点 ✏️1.2 基于UDP的应用层协议 📕2. TCP协议 ✏️2.1 TCP协议段格式 ✏️2.2 TCP协议特点之确认应答 ✏️2.3 TCP协议特点之超时重传 ✏️2.4 TCP协议特点之连接管理 ✏️2.5 TCP协议特点之滑动窗口 ✏️2.6 TCP协议特点

ESP32-S3打造豆包实时语音助手:基于Micropython开发

基于ESP32-S3的豆包语音智能助手实现Tips:文末源码自取对话效果 豆包语音智能体+gc9a01显示 项目概述本项目基于ESP32-S3微控制器,构建了一个实时响应的AI语音助手系统。通过WebSocket协议与豆包大模型对接,具备强大的对话能力和高度可定制性。硬件准备 ESP32-S3SuperMini开发板:搭

前端小知识Day5

1、数组快速去重 // 此方法仅适用于基本数据类型组成的数组 const arr = [1, 2, 3, 4, 5, 6]; const arr2 = new Set(arr); const arr3 = [...arr2]; 2、数组一些常用的方法 push() 向数组末尾添加一个或多个元素 返回新数组的长度 let arr = [1, 2, 3]; arr.push(4, 5); co

数组的基本概念和基本用法

一.数组基本概念 1.1 什么是数组 数组是用来存储多个连续数据类型相同的数据 1.2 什么是数组元素 数组中的每个数据就是数组元素 1.3 什么是数组长度 数组的元素个数就是数组长度 数组的长度在为数组元素分配空间时就已经确定了大小 二.使用数组 2.1 使用数组分4步: 1. 定义数组 2. 为数组元素分配内存 3. 数组元素初始化

Flink之Table API

Apache Flink 的 Table API 是 Flink 提供的一种高级抽象,用于以声明式方式处理批处理和流处理数据。它是基于关系模型的 API,用户可以像编写 SQL 一样,以简洁、类型安全的方式编写数据处理逻辑。一、基本概念1. 什么是 Table API?Table API 是 Flink 中用于处理结构化数据的 关系型编程接口

三、zookeeper 常用shell命令

作者:IvanCodes 日期:2025年5月28日 专栏:Zookeeper教程 ZooKeeper Shell (zkCli.sh) 是与ZooKeeper服务器交互的核心工具。本教程将详细介绍常用命令,并重点解析ZooKeeper数据节点 (ZNode) 的特性与分类。 思维导图 一、连接 ZooKeeper 服务 使用

详解RabbitMQ高级特性之消息确认机制

目录消息确认机制RabbitMQ的消息确认机制自动确认 手动确认 Spring-AMQP的消息确认机制代码演示 常量类声明队列和交换机并绑定二者关系声明RabbitTemplate编写生产消息代码AcknowledgeMode.NONE(演示)编写消费消息代码1​编辑编写消费消息代码2AcknowledgeMode.AUTO(演示)编写消费消