阅读本文约“2.7分钟”


图片描述

隐私这个专属感极强的词汇,每个人都希望有自己的空间,有自己的专属,甚至对自己的爱人也有自己的一些要求来有专属感。

聊天也如此,微信会火起来也是因为其朋友圈的私密性,只有自己的微信好友才能看到,不想QQ一样,谁都可以看到。

即使同一个圆桌上的人,都会有几个微信群去聊他们自己专属的话题。

这我们简称为圈子。

还有一种是金字塔等级,校长广播说的话,老师和同学都能知道,但是同学说的只有同学之前才知道,因为你的等级不高,所以没有广播的权限。

即上一篇聊天室后,我又想到私密的聊天模式,即设置权限,只有我们才看到的,或者金字塔(那些比我低等的都会收到我的消息,但是我不会接收它们的消息)


图片描述

图片描述


Netty对于通信流做了很好的封装,后期将出Netty的源码阅读推文,我们可以以对象的形式去区分这个Netty的级别,不过现在是通过前端每次输入的数据前缀进行判断,当链接创建时,并没有进行权限判断,而是在接收到信息时才进行等级判断与对象存储。

但其他高等级发信息时,将其信息发送给对应的高等级,这就是所谓的圈子模式。

而金字塔模式则是将高等级的发送给比自己低等级的所有链接对象。

项目存在优化空间,我一开始想用异步去存储链接实例(这里的存储时判断后的分类存储),可是接下来的读发数据时可能因为异步而没有将全部的连接都发送到。

具体大家可以看看异步任务的优缺点,它并不是顺序执行的。


图片描述


Java猫说
1.3k 声望930 粉丝

现架构设计(码农)兼创业技术顾问,不羁平庸,热爱开源,杂谈程序人生与不定期干货。