![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
手撸IM
文章平均质量分 95
BossFriday
不进行简单的转载,所有文章和代码均为本人原创或者亲自重构;
展开
-
JTextField限制只能输入特定字符
限制 JTextField 输入内容的原理涉及到对文本框中的文本进行监听和过滤。Java中,JTextField 使用 Document 对象来管理文本内容。Document 是一个抽象类,JTextField 默认使用 PlainDocument 的实例来存储文本。限制输入内容的原理通常涉及两个步骤:1、监听用户输入: 通过添加文本修改监听器(如 DocumentListener)或者拦截键盘输入事件(如 KeyListener),程序能够实时监测用户的输入行为。原创 2024-04-25 19:52:44 · 969 阅读 · 1 评论 -
【手撸IM】通讯协议设计与实现
之前说过要手撸一个 IM 需要考虑的东西太多了,以至于前期做的很多工作与 IM 本身其实并没有太多直接的关系,例如:分布式策略、接入服务等。上一篇抛砖引玉的介绍了消息IM的设计与实现,现在谈下如何设计与实现一个私有的通讯协议。原创 2024-03-20 22:23:40 · 1097 阅读 · 0 评论 -
【手撸IM】消息ID设计与实现
微信团队是这样看这个问题的:要解决消息的唯一性、顺序性问题,可以将一个技术点分解成两个:即将原先每条消息一个自增且唯一的消息ID分拆成两个关键属性——消息ID(msgId)、消息序列号(seqId),即消息ID只要保证唯一性而不需要兼顾顺序性(比如直接用UUID)、消息序列号只要保证顺序性而不需要兼顾唯一性,这样的技术分解就能很好的解决原本一个消息ID既要保证唯一性又要保证顺序性的难题。如何快速高效的生成消息数据的唯一 ID ,是影响系统吞吐量的关键因素。这里我给出一个分布式 IM 消息ID的实现。原创 2024-03-12 11:14:36 · 310 阅读 · 0 评论