DAY01笔记
1、JSON vs 对象传输:核心区别解析
本质区别
JSON 的本质
- JSON是字符串:{"name":"张三","age":25}本质上就是一个文本字符串
- Netty内置字符串处理器:Netty自带 StringEncoder/StringDecoder,专门处理字符串传输
- 文本协议特性:JSON是人类可读的文本格式,网络传输的就是这个文本
JSON字符串 → UTF-8编码 → 二进制字节 → 网络传输↓           ↓           ↓文本数据    字符编码     纯字节流对象传输的本质
- 对象是内存二进制:Java对象在内存中是复杂的二进制结构(包含字段、方法、引用等)
- 需要序列化:必须把内存中的二进制结构转换成可以在网络传输的字节流
- 需要反序列化:接收方必须把字节流重新还原成可用的Java对象
Java对象 → 复杂序列化 → 二进制字节 → 网络传输↓           ↓           ↓内存结构    对象编码     专用字节流实际影响
JSON 的优势
-  开发简单,调试方便 
-  跨语言兼容性好 
-  无需预定义数据结构 
-  人类可读,便于日志记录 
对象序列化的优势
-  性能更高,数据量更小 
-  类型安全,编译期检查 
-  支持复杂对象图 
-  更好的版本控制 
结论
根本在于"编码的复杂度":
-  JSON:只需要简单的字符编码(字符串→字节) 
-  对象:需要复杂的结构编码(对象内存结构→字节) 
Netty内置了字符编码器,所以JSON看起来"不需要专门序列化"。但实际上对象序列化要解决的是更复杂的结构编码问题,这超出了简单字符编码的范畴
2、SSE vs WebSocket
特性对比
| 特性 | webSocket | SSE (Server-SentEvents) | 
| 通信方向 | 双向“聊天”(你说我也说) | 单向“广播”(服务器说,你听着) | 
| 协议基础 | 独立立WS/WSS协议(新通道) | 基于HTTP长连接(老通道升级 | 
| 数据格式 | 文本/二进制 | 仅文本(json纯文本) | 
| 连接管理 | 手动写心跳检测、断线重连 | 浏览器自动重连(省心!) | 
| 2025支持率 | 2025支持率97.33%(几乎所有现代浏览器) | 93.7%(iOS15+需特殊配置) | 
| 典型延迟 | 50-100ms(毫秒级响应) | 100-200ms(比WebSocket稍慢 | 
连接管理机制
SSE连接生命周期
建立HTTP连接 → 保持持久连接 → 服务器推送数据 → 自动重连 → 连接关闭WebSocket会话流程:
HTTP握手 → 协议升级 → 双向数据传输 → 心跳保持 → 连接终止数据帧结构对比
SSE消息格式
data: {"type": "update", "value": 42}event: custom
data: Custom event data
id: 123
retry: 3000WebSocket帧结构:
0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-------+-+-------------+-------------------------------+
|F|R|R|R| opcode|M| Payload len |    Extended payload length    |
|I|S|S|S|  (4)  |A|     (7)     |             (16/64)           |
|N|V|V|V|       |S|             |   (if payload len==126/127)   |
| |1|2|3|       |K|             |                               |
+-+-+-+-+-------+-+-------------+ - - - - - - - - - - - - - - - +场景
SSE适用场景
1、实时数据监控
2. 新闻/通知推送
3.AI模型流失输出
webSocket使用场景
1、多人协作编辑
2、多人在线游戏
3、实时音频视频通信
总结
SSE和WebSocket代表了两种不同的实时通信哲学:SSE建立在HTTP之上,强调简单性和兼容性;WebSocket则追求极致的性能和功能丰富性。
3、jsonRPC协议
博客地址: https://blog.csdn.net/weixin_35750483/article/details/148910593
