iOS面试:要点梳理

举报
iOS逆向 发表于 2022/03/25 00:03:29 2022/03/25
【摘要】 文章目录 引言 I socket II 消息推送 III 基础业务知识 引言 底层业务、IM基础知识(socket、粘包问题)、编译流程、中间产物、组件化、...

引言

底层业务、IM基础知识(socket、粘包问题)、编译流程、中间产物、组件化、性能分析(方法运行时间)。

I socket

粘包现象:即发送方发送的若干包数据到接收方接收时粘成一包

不是所有的粘包现象都需要处理,若传输的数据为不带结构的连续流数据(如文件传输),则不必把粘连的包分开(简称分包)。

粘包原因:发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小、数据量小的数据,合并成一个大的数据块,然后进行封包。
在这里插入图片描述

  1. 发送端需要等缓冲区满才发送出去,造成粘包。
    2, 接收方不及时接收缓冲区的包,造成多个包接收。

解决该问题的对策:接收方创建一预处理线程,对接收到的数据包进行预处理,将粘连的包分开。

文章来源: kunnan.blog.csdn.net,作者:iOS逆向,版权归原作者所有,如需转载,请联系作者。

原文链接:kunnan.blog.csdn.net/article/details/123708599

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。