文章目录
引言
底层业务、IM基础知识(socket、粘包问题)、编译流程、中间产物、组件化、性能(方法运行时间)分析。
从编译器入手:输出每个地方的耗时,针对耗时做相对应的优化(优化头文件引入;尽量避免头文件里包含 C++ 标准库
I socket
粘包现象:即发送方发送的若干包数据到接收方接收时粘成一包
不是所有的粘包现象都需要处理,若传输的数据为不带结构的连续流数据(如文件传输),则不必把粘连的包分开(简称分包)。
粘包原因:发送端为了更有效地将多个包发往接收端的包,使用了优化方法(Nagle算法),将多次间隔较小、数据量小的数据,合并成一个大的数据块,然后进行封包。
- 发送端需要等缓冲区满才发送出去,造成