首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏即时通讯技术

    IM开发快速入门(一):什么是IM系统?

    1、系列文章引言 IM系统看似简单(没错,很多土老板认为开发个qq和微信也就是几万块钱的事... ),实责是众多技术的应用合体,包括网络编程、移动开发、后端开发、高并发、高可用、高安全等技术范畴,再加上多端使用不同的编程语言 2、系列文章目录 《IM开发快速入门(一):什么是IM系统?》(* 本文) 《IM开发快速入门(二):什么是IM系统的实时性? (稍后发布)》 《IM开发快速入门(三):什么是IM系统的可靠性?  (稍后发布)》 《IM开发快速入门(四):什么是IM系统的一致性? (稍后发布)》 《IM开发快速入门(五):什么是IM系统的安全性?  (稍后发布)》 《IM开发快速入门(六):什么是IM系统的的心跳机制? (稍后发布)》 《IM开发快速入门(七):如何理解并实现IM系统消息未读数?  通俗易懂:一篇掌握即时通讯的消息传输安全原理》 7、IM的功能组成 浅显的角度讲,一个典型的IM功能组成,无非就是以下5样: 1)联系人列表; 2)聊天界面; 3)消息发送通道; 4)消息接收通道; 5

    3.4K22发布于 2020-07-09
  • 来自专栏即时通讯技术

    IM开发快速入门(二):什么是IM系统的实时性?

    区别于强大的原生应用,Web端的IM系统,在很长一段时间内想实现真正的“实时性”,是非常困难的,因为无法直接使用UDP、TCP通信协议,在HTML5中的WebSocket出现之前,Web端几乎没有真正意义上的 《IM开发快速入门(二):什么是IM系统的实时性?》(* 本文) 《IM开发快速入门(三):什么是IM系统的可靠性? (稍后发布)》 《IM开发快速入门(四):什么是IM系统的一致性?  (稍后发布)》 《IM开发快速入门(五):什么是IM系统的安全性? (稍后发布)》 《IM开发快速入门(六):什么是IM系统的的心跳机制?  (稍后发布)》 《IM开发快速入门(七):如何理解并实现IM系统消息未读数? (稍后发布)》 《IM开发快速入门(八):如何理解并实现IM系统的多端消息漫游?  6、WebSocket让Web端IM真正的“实时性”变成可能 好消息是,HTML5中带来了WebSocket技术。

    1.5K30发布于 2020-09-18
  • 来自专栏即时通讯技术

    IM开发快速入门(二):什么是IM系统的实时性?

    区别于强大的原生应用,Web端的IM系统,在很长一段时间内想实现真正的“实时性”,是非常困难的,因为无法直接使用UDP、TCP通信协议,在HTML5中的WebSocket出现之前,Web端几乎没有真正意义上的 正因为如此,理解Web端即时通信技术的演进,也就自然而然能循序渐进地体会到IM系统中的“实时性”了。所以本文将围绕Web端即时通讯技术,为你展开IM“实时性”这个话题。 友情提示:本系列文章侧重于理论概念的讲述,篇幅有限,点到即止,如需系统、深入、具体地学习IM技术的方方面面,请从此文入手:《新手入门一篇就够:从零开发移动端IM》(史诗级文章,适合从入门到放弃)。 总结一下就是,短轮询这种模式对于IM技术大拿来说,显的非常low,因为技术实现实在是简单粗暴。 3、长轮询技术 正如你所见,用短轮询技术来保证IM的实时性,确实难说优雅。 5、WebSocket让Web端IM真正的“实时性”变成可能 好消息是,HTML5中带来了WebSocket技术。

    1.8K41发布于 2020-09-22
  • 来自专栏即时通讯技术

    IM开发基础知识补课(九):想开发IM集群?先搞懂什么是RPC!

    1、引言 经常有开发者在纠结怎么开发IM集群,虽然真正的使用人数,可能用个人电脑单机都能支撑。 你也许会说,明明不需要用到IM集群,干吗要自找麻烦?答曰:“老板说这个得有!” 《IM开发基础知识补课(七):主流移动端账号登录方式的原理及设计思路》 《IM开发基础知识补课(八):史上最通俗,彻底搞懂字符乱码问题的本质》 《IM的扫码登功能如何实现? 一文搞懂主流应用的扫码登陆技术原理》 《IM要做手机扫码登陆?先看看微信的扫码登录功能技术原理》 《IM开发基础知识补课(九):想开发IM集群?先搞懂什么是RPC!》 (本文) 如果您是IM开发初学者,强烈建议首先阅读《新手入门一篇就够:从零开发移动端IM》。 [3] 浅谈RPC那些事儿[1] [4] 即时通讯新手入门:快速理解RPC技术——基本概念、原理和用途 [5] 即时通讯新手入门:一文读懂什么是Nginx?它能否实现IM的负载均衡?

    75410发布于 2020-05-09
  • IM 系统开发中的 5 个常见问题及解决方案

    IM系统开发中的5个常见问题及解决方案在IM系统开发中,会遇到消息重复、死连接、消息丢失、性能瓶颈等问题。本文介绍AQChat中这些问题的解决方案。 10ms<1ms5-10倍总响应时间50-80ms<5ms10-16倍五、问题五:AI响应阻塞问题问题描述场景:AI处理耗时:每次AI调用需要5-10秒同步处理:AI处理阻塞MQ消费线程并发限制:多个AI 独立线程池1.独立线程池配置展开代码语言:JavaAI代码解释@ComponentpublicclassThreadPoolUtil{privatestaticfinalintCORE_POOL_SIZE=5; 消息去重保证幂等性资源管理:及时清理无效连接,避免内存泄漏可靠性保障:多重保障机制,确保消息不丢失性能优化:异步处理+缓存,提升系统性能错误隔离:独立线程池,避免相互影响通过以上解决方案,AQChat解决了IM 系统开发中的常见问题,提升了系统的可靠性、性能和用户体验。

    16010编辑于 2026-01-12
  • 来自专栏即时通讯技术

    基于Netty,从零开发IM(二):编码实践篇(im单聊功能)

    3、系列文章本文是系列文章的第2篇,以下是系列目录:《基于Netty,从零开发IM(一):IM系统设计篇》《基于Netty,从零开发IM(二):编码实践篇(单聊功能)》(* 本文)《基于Netty,从零开发 IM(三):编码实践篇(群聊功能)》(稍后发布.. )《基于Netty,从零开发IM(四):编码实践篇(系统优化)》(稍后发布.. )4、运行效果本篇我们主要来实现的是IM单聊功能,具体就是:模拟IM聊天的两个用户分别登陆各自的账号 学习交流:- 移动端IM开发入门文章:《新手入门一篇就够:从零开发移动端IM》- 开源IM框架源码:https://github.com/JackJiang2011/MobileIMSDK(备用地址点此 )11、参考资料[1] 手把手教你用Netty实现心跳机制、断线重连机制[2] 自已开发IM很难? 手把手教你撸一个Andriod版IM[3] 基于Netty,从零开发一个IM服务端[4] 拿起键盘就是干,教你徒手开发一套分布式IM系统[5] 正确理解IM长连接、心跳及重连机制,并动手实现[6] 手把手教你用

    57541编辑于 2022-07-11
  • 来自专栏即时通讯技术

    开源即时通讯IM框架MobileIMSDK的H5开发快速入门

    ► 相关链接:① MobileIMSDK-H5端的详细介绍② MobileIMSDK-H5端的开发手册new(* 精编PDF版)一、技术准备您是否已对Web端即时通讯技术有所了解? 说明 :用户一旦从自已的应用中完成登陆IM服务器后,本方法就会一直返回true(直到退出登陆IM)。 说明 :当开发者登陆IM后,需要退出登陆时,调用本函数就对了,本函数相当于登陆函数 loginImpl()的逆操作。 推荐用法 :开发者可在此回调中进行登陆IM服务器成功后的处理。 框架源码(Github地址点此)[4] MobileIMSDK-H5端基本介绍[5] MobileIMSDK-H5端的开发手册(* 精编PDF版)[6] MobileIMSDK的Demo使用帮助:Server

    79711编辑于 2023-06-15
  • 来自专栏即时通讯技术

    零基础IM开发入门(三):什么是IM系统的可靠性?

    2、系列文章 《零基础IM开发入门(一):什么是IM系统?》 《零基础IM开发入门(二):什么是IM系统的实时性?》 《零基础IM开发入门(三):什么是IM系统的可靠性?》 (* 本文) 《零基础IM开发入门(四):什么是IM系统的消息时序一致性?》 《零基础IM开发入门(五):什么是IM系统的安全性?  (稍后发布)》 《零基础IM开发入门(六):什么是IM系统的的心跳机制? (稍后发布)》 《零基础IM开发入门(七):如何理解并实现IM系统消息未读数?  (稍后发布)》 《零基础IM开发入门(八):如何理解并实现IM系统的多端消息漫游?  [4] 从客户端的角度来谈谈移动端IM的消息可靠性和送达机制 [5] 聊聊IM系统的即时性和可靠性 [6] 学习笔记4——IM系统如何保证消息的可靠性 [7] IM群聊消息如此复杂,如何保证不丢不重?

    1.2K61发布于 2020-10-29
  • 来自专栏Golang语言社区

    Go 开发IM 和推送服务 goim

    goim 是一个支持集群的im及实时推送服务(支持websocket,http和tcp协议) 特性: 轻量级 高性能 纯Golang实现 支持单个、多个以及广播消息推送 支持单个Key多个订阅者(可限制订阅者最大人数

    3.7K20发布于 2018-03-19
  • 来自专栏即时通讯技术

    IM开发技术分享:浅谈IM系统中离线消息、历史消息的最佳实践

    本文由融云技术团队原创分享,原题“IM 消息数据存储结构设计”,内容有修订。 1、引言 在如今的移动互联网时代,IM类产品已是我们生活中不可或缺的组成部分。 像微信、钉钉、QQ等是典型的以 IM 为核心功能的社交产品。另外也有一些应用虽然IM功能不是核心,但IM能力也是其整个应用极其重要的组成部分,比如在线游戏、电商直播等应用。 在IM技术应用场景越来越广泛的前提下,对即时通讯IM技术的学习和掌握就显的越来越有必要。 3、IM消息投递的一般做法 在通常的IM消息系统中,对于实时消息、离线消息、历史消息大概都是下面这样的技术思路。 5IM消息的发送及存储流程 以下是我们系统整体的消息发送及存储流程:  如上图所示:当用户发送聊天消息到服务器端后,首先会进入到消息系统中,消息系统会对消息进行分发以及存储。

    3.4K31编辑于 2022-04-19
  • 来自专栏数字资产

    区块链im及时通讯系统app开发

    Im即时通讯系统app是现在市场中应用比较广泛的产品,像我们现在使用的微信、QQ等等都属于im即时通讯系统app。 Im的范围比较大,现在很多的行业都会有自己行内的通讯系统,这样能够保证用户之间都是同一个领域的人,并且有足够多的话题去交流,相应的还会出现这个行业独有的一些功能。 icon13.jpg 比如就像是区块链im即时通讯系统app则全是区块链行业内的用户才会去使用的,里面的共包含随时随地聊天、社区群组、商务沟通、娱乐直播, 红包打赏,朋友圈分享等核心场景,海量消息一触即达 此款区块链im即时通讯系统app不仅仅只是提供一个简单的沟通交流分享等功能,其中的数字资产互转功能也是带有的,这样的区块链im系统app不仅仅是个交易工具,还是一个掌上钱包,更加方便了币圈朋友。 区块链im即时通讯系统app开发能够给币圈的人带来更多的方便,让用下载一个app就可以搞定一切事情,所以对于用户来说,出现这样的app则是一项好的消息,试想如果一个手机app就可以搞定交流、直播还有数字资产互转等功能时

    2.2K00发布于 2018-07-30
  • 来自专栏即时通讯技术

    零基础IM开发入门(五):什么是IM系统的端到端加密?

    《零基础IM开发入门(二):什么是IM系统的实时性?》《零基础IM开发入门(三):什么是IM系统的可靠性?》《零基础IM开发入门(四):什么是IM系统的消息时序一致性?》 《零基础IM开发入门(五):什么是IM系统的端到端加密?(* 本文)》《零基础IM开发入门(六):什么是IM系统的的心跳机制?  (稍后发布)》《零基础IM开发入门(七):如何理解并实现IM系统消息未读数? (稍后发布)》《零基础IM开发入门(八):如何理解并实现IM系统的多端消息漫游?  没有使用端到端加密时的聊天消息存在诸多风险:使用了端到端加密后的聊天就安全多了:5IM系统使用端到端加密的好处数据安全性:在IM系统中,端到端加密可以确保消息在传输过程中始终保持加密状态,防止黑客和第三方窃取用户的通信内容 深入浅出,探密短连接的安全性[4] 理论联系实际:一套典型的IM通信协议设计详解(含安全层设计)[5] 微信新一代通信安全解决方案:基于TLS1.3的MMTLS详解[6] 移动端安全通信的利器——端到端加密

    47210编辑于 2025-03-20
  • 来自专栏即时通讯技术

    开发IM集群?先搞懂什么是RPC!

    1、引言 经常有开发者在纠结怎么开发IM集群,虽然真正的使用人数,可能用个人电脑单机都能支撑。 你也许会说,明明不需要用到IM集群,干吗要自找麻烦?答曰:“老板说这个得有!” 《IM开发基础知识补课(七):主流移动端账号登录方式的原理及设计思路》 《IM开发基础知识补课(八):史上最通俗,彻底搞懂字符乱码问题的本质》 《IM的扫码登功能如何实现? 一文搞懂主流应用的扫码登陆技术原理》 《IM要做手机扫码登陆?先看看微信的扫码登录功能技术原理》 《IM开发基础知识补课(九):想开发IM集群?先搞懂什么是RPC!》 (本文) 如果您是IM开发初学者,强烈建议首先阅读《新手入门一篇就够:从零开发移动端IM》。 [3] 浅谈RPC那些事儿[1] [4] 即时通讯新手入门:快速理解RPC技术——基本概念、原理和用途 [5] 即时通讯新手入门:一文读懂什么是Nginx?它能否实现IM的负载均衡?

    2.2K20发布于 2020-05-18
  • 来自专栏数字资产

    区块链社交im及时通讯系统开发

    icon13.jpg 我们熟悉的社交系统被称为im及时通讯系统,这种系统的出现更多的是方便了我们的生活,人们不再只能依靠电话,短信息的形式才能互相沟通交流,而像微信这种类似的社交im及时通讯系统很多时候还会被应用与多个场景 但是现在的社交IM及时通讯系统大多存在一个太过于中心化的弊病,当用户在注册这一系统时,势必会填写一部分自己的个人信息,但是很多人也会担忧信息被外泄或者被他们所看到了利用,比较谨慎,很多的pian子也就应声而起 众所周知,区块链技术的核心在于去中心化,当社交im及时通讯系统得到区块链技术的加持,就更加能够去掉系统中心化这个弊病,而且,区块链具有不可篡改性,是你的信息,就算被他们所有,系统也不会承认,所以这也大大降低了犯罪的几率 区块链社交im及时通讯系统能够在原有的社交系统上加大用户的体验,让用户能够放心的在这个平台上自由沟通交流。也为现在的社交im及时通讯系统增加了一项重要的技能,也是增加了用户的粘性。

    1.4K30发布于 2018-07-17
  • 来自专栏即时通讯技术

    IM开发干货分享:万字长文,详解IM“消息“列表卡顿优化实践

    1、引言 随着移动互联网的普及,无论是IM开发者还是普通用户,IM即时通讯应用在日常使用中都是必不可少的,比如:熟人社交的某信、IM活化石的某Q、企业场景的某钉等,几乎是人人必装。 学习交流: - 移动端IM开发入门文章:《新手入门一篇就够:从零开发移动端IM》 - 开源IM框架源码:https://github.com/JackJiang2011/MobileIMSDK 2、相关文章 IM客户端优化相关文章: 《IM开发干货分享:我是如何解决大量离线消息导致客户端卡顿的》 《IM开发干货分享:网易云信IM客户端的聊天消息全文检索技术实践》 《融云技术分享:融云安卓端IM产品的网络链路保活技术实践 5、卡顿问题分析 5.1 在中低端手机中的卡顿效果 有了以上的理论基础,我们开始分析“消息”列表卡顿的问题。 在该方法中,首先进行了 MD5 加密,然后创建 Bitmap,再压缩,再存入本地(IO)。

    2.3K20发布于 2021-10-26
  • 来自专栏即时通讯技术

    IM开发干货分享:有赞移动端IM的组件化SDK架构设计实践

    1、引言 本文主要以Android客户端为例,记录了有赞旗下 App 中使用自研 IM,并将IM提炼成组件化SDK的设计思路。此项工作由有赞移动开发IM SDK 团队共同讨论完成。 5、设计要点1:Socket长连接的创建与维护 IM SDK 所有数据收发流程,均通过Socket长连接完成,如何维护一个稳定Socket通道,是IM系统是否稳定的重要一环。  8、设计要点4:可定制化的UI 随着公司规模的扩大与业务线的快速迭代,可能新的业务也需要 IM 这个功能,众所周知,IM UI 功能的嵌入会占据大量的开发与调试时间, 为了解决这个痛点,决定将 IM UI 部分抽成一个 Library,实现可定制与单独维护,做到真正的敏捷开发与快速迭代。 9、设计要点5:UI 中聊天会话数据加载策略 参考业界主流的IM系统方案,用户聊天时,需要将已经发送和接收到的聊天信息保存到本地,而不是每次都拉取历史数据。

    2.4K20发布于 2020-07-29
  • 来自专栏即时通讯技术

    IM跨平台技术学习(七):得物基于Electron开发客服IM桌面端的技术实践

    (四):蘑菇街基于Electron开发IM客户端的技术实践》《IM跨平台技术学习(五):融云基于Electron的IM跨平台SDK改造实践总结》《IM跨平台技术学习(六):网易云信基于Electron的 IM消息全文检索技术实践》《IM跨平台技术学习(七):得物基于Electron开发客服IM桌面端的技术实践》(* 本文)三、业务背景随着公司业务的快速发展,商家客服也纳入了我们的服务范围,商家客服工作台的定位是通过工具和数据服务商家 七、遇到的问题我们在基于Electron开发客服IM桌面端的过程无疑遇到了很多问题,我拣主要的几个问题分享一下。 简单明了,看完啥都懂了[5] vivo的Electron技术栈选型、全方位实践总结[6] 融云基于Electron的IM跨平台SDK改造实践总结[7] 闲鱼IM基于Flutter的移动端跨端改造实践[ 8] 网易云信基于Electron的IM消息全文检索技术实践学习交流:- 移动端IM开发入门文章:《新手入门一篇就够:从零开发移动端IM》- 开源IM框架源码:https://github.com/JackJiang2011

    1.3K22编辑于 2023-03-31
  • 来自专栏即时通讯技术

    IM开发干货分享:网易云信IM客户端的聊天消息全文检索技术实践

    学习交流: - 移动端IM开发入门文章:《新手入门一篇就够:从零开发移动端IM》 - 开源IM框架源码:https://github.com/JackJiang2011/MobileIMSDK 2、关于作者 李宁:网易云信高级前端开发工程师,负责音视频 IM SDK 的应用开发、组件化开发及解决方案开发,对 React、PaaS 组件化设计、多平台的开发与编译有丰富的实战经验。 5、全文检索知识点1:倒排索引 先简单介绍下倒排索引,倒排索引的概念区别于正排索引: 1)正排索引:是以文档对象的唯一 ID 作为索引,以文档内容作为记录的结构; 2)倒排索引:是以文档内容中的单词作为索引 1)“去”没有前缀,因此只有一种切分方式; 2)对于“北”,则有“北”、“北京”、“北京大学”三种切分方式; 3)对于“京”,也只有一种切分方式; 4)对于“大”,有“大”、“大学”两种切分方式; 5) 五元组: 1)状态值集合; 2)观察值集合; 3)状态初始概率; 4)状态转移概率; 5)状态发射概率。

    3.7K10发布于 2021-08-03
  • 来自专栏程序员小熊 带你学算法

    腾讯云通信IM后台开发最新笔试题

    一位朋友最近面试腾讯的腾讯云通信IM后台开发工程师,熊哥从他那获取到该岗位一面的笔试题。 今天将这次笔试的题目分享给大家,看看大家能正确做出多少道?是否能通过该岗位的一面?或者说离通过一面还有多远? (5分) char str1[] = "abc"; char str2[] = "abc"; const char* str5 = "abc"; const char* str6 n", a); return 0; } 5、求下面结构体大小(5分) struct B {int b; char c;}; typedef struct { int a; (5分) int main() { string str1,str2; str1.resize(5); str2.reserve(5); memcpy(str1.data (5分) 10、有个文件,内容如下:(5分) 1111|33333|44444|6666 4adf|33333|fafdfd|adfdfa 33333|22222|dadffd|adfdfasf

    5.3K30发布于 2021-11-30
  • 来自专栏即时通讯技术

    IM跨平台技术学习(四):蘑菇街基于Electron开发IM客户端的技术实践

    跨进程通信、打包、踩坑等)》 《IM跨平台技术学习(三):vivo的Electron技术栈选型、全方位实践总结》 《IM跨平台技术学习(四):蘑菇街基于Electron开发IM客户端的技术实践》(* 本文 ).finish(); // 解封数据 let decodedMsg = PbJson.lookupType('pb-api').ctor.decode(buff); 5、网络传输协议的选择 开发IM 另外,如果你自认为对于IM的理论知识很匮乏或不成体系,可以从《新手入门一篇就够:从零开发移动端IM》入手,系统地进行学习。 聊天系统安全手段之通信连接层加密技术 [3] IM聊天系统安全手段之传输内容端到端加密技术 [4] TCP/IP详解 - 第11章·UDP:用户数据报协议 [5] TCP/IP详解 - 第17章·TCP 开发入门文章:《新手入门一篇就够:从零开发移动端IM》 - 开源IM框架源码:https://github.com/JackJiang2011/MobileIMSDK(备用地址点此) (本文已同步发布于

    2.3K30编辑于 2022-10-14
领券