Java Websocket分片发送

embedded/2024/12/23 1:21:13/

一、分片发送和接收(复杂)
如果数据量太大,需要分多次发送,
需要考虑数据划分和重组的问题。

二、具体思路
每次发送和接收用一个布尔值变量指定是否为最后一个分片。

三、具体使用
(一)字符串分片发送:
sendText(文本, 布尔值);

布尔值的取值:
不是最后一个分片,设置为false;
如果是最后一个,设置为true;

(二)分片接收字符串:
@OnMessage
public void onmessage(String msg , boolean isLast, Session session){ }

用isLast的值来判断是否最后一个分片。

(三)分片接收二进制:
@OnMessage
public void onmessage(byte[] buff , boolean isLast, Session session){}
isLast为真,代表最后一个分片,否则不是。

四、底层原理
设置WebSocket协议数据包上的标志FIN,为0代表不是最后一个,为1是最后一个分片。


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

相关文章

【Jmeter】插件详解:PerfMon Metrics Collector 服务器性能监控插件

目录 一、前言 二、PerfMon Metrics Collector 插件详解 (1)插件简介 (2)功能介绍 (3)应用场景 (4)使用指南 ① 环境准备 ② 服务端插件配置 ③ 监听器配置 ④ 图表设置 ⑤ 非 GUI 模式 三、ServerAgent 下载 四、ServerAgent 安装 (1)安装 (…

C++~~期末复习题目讲解---lijiajia版本

目录 1.类和对象 (3)创建对象的个数 (3)全局变量,局部变量 (4)构造函数的执行次数 (5)静态动态析构和构造顺序 (6)初始化顺序和声明顺序 &a…

9.2JavaEE——JDBCTemplate的常用方法(二)update()方法

二、update()方法 JdbcTemplate类中常用的update()方法 方法说明int update(String sql)该方法是最简单的update()方法重载形式,它直接执行传入的SQL语句,并返回受影响的行数。int update(PreparedStatementCreator psc)该方法执行参数psc返回的语句,然后返回受影响的行数。i…

使用宝塔面板部署Django应用(不成功Kill Me!)

使用宝塔面板部署Django应用 文章目录 使用宝塔面板部署Django应用 本地操作宝塔面板部署可能部署失败的情况 本地操作 备份数据库 # 备份数据库 mysqldump -u root -p blog > blog.sql创建requirements # 创建requirements.txt pip freeze > requirements.txt将本项目…

深入分析C#中的StringBuilder

C# 中的类是专为字符串操作而设计的命名空间的重要组成部分。与 C# 中的常规字符串不同,C# 中的常规字符串是不可变的,它提供了一个可变的字符串对象。这意味着可以修改它,而无需为每次修改创建新对象的开销,这在处理大型字符串或…

UniVue更新日志:使用ObservableList优化LoopList/LoopGrid组件的使用

github仓库 稳定版本仓库:https://github.com/Avalon712/UniVue 开发版本仓库:https://github.com/Avalon712/UniVue-Develop UniVue扩展框架-UniVue源生成器仓库:https://github.com/Avalon712/UniVue-SourceGenerator 更新说明 如果大家…

QT串口调试助手V2.0(源码全开源)--上位机+多通道波形显示+数据保存(优化波形显示控件)

首先关于Qt的安装和基本配置这里就不做重复说明了,注:本文在Qt5.14基础上完成 完整的项目开源仓库链接在文章末尾 图形控件——qcustomplot QCustomPlot是一个基于Qt框架的开源绘图库,用于创建高质量的二维图表和数据可视化。 QCustomPlot…

ubuntu访问windows共享文件夹

方法: Ubuntu访问Windows共享文件夹的方法-CSDN博客 基于交换机的PC端网络通信_服务器交换机pc端-CSDN博客 补充说明: 在这里面输入: smb://192.168.0.30/WindowsShareToLinux