网络
- 分类
- 网络协议
- 难度
- 未设置
- 来源数
- 1
- 更新时间
- 2026/03/29 15:48
答案
在TCP当中会发生粘包和拆包现象。主要是由于TCP是面向字节流的协议。像比如UDP,是面向报文的协议,操作系统不会对消息进行拆分,一个消息会被包装成UDP报文进行发送,接收方介绍到一个报文就是一个完整的消息。而对于TCP来说,它是面向字节流的,一条消息可能会被拆分到不同的包里,这就会导致粘包问题,接收方需要知道消息的边界,才能正常读取消息。因此,解决粘包问题,有几种分包方式,比如固定消息长度、特殊字符作为边界、自定义消息结构。
相关题目(5)
元信息
审核状态: active
关联来源: 1
来源面经题(0)
这道题目前没有手动沉淀的面经题来源。
来源(1)
Java八股(四大件).md
knowledge_noteQuestion 28: 什么是粘包和拆包,怎么解决
Source answer: 在TCP当中会发生粘包和拆包现象。主要是由于TCP是面向字节流的协议。像比如UDP,是面向报文的协议,操作系统不会对消息进行拆分,一个消息会被包装成UDP报文进行发送,接收方介绍到一个报文就是一个完整的消息。而对于TCP来说,它是面向字节流的,一条消息可能会被拆分到不同的包里,这就会导致粘包问题,接收方需要知道消息的边界,才能正常读取消息。因此,解决粘包问题,有几种分包方式,比如固定消息长度、特殊字符作为边界、自定义消息结构。
Reviewed answer: TCP是面向字节流的,消息边界不固定,可能出现多个消息粘在一起或一个消息被拆开。常见解决方式有固定长度、特殊分隔符、长度字段或自定义协议。