ImFire即时通讯系统构建(前言)】的更多相关文章

缘起termtalk 一切起源于我对蘑菇街termtalk开源IM系统源代码的好奇,termtalk简称tt.无论如何,都应该先向tt致敬,开源实属不易.看了一些分析tt架构的文章,感觉还不错,说是能支持高并发高可用的.听说有一些公司也借用了该开源代码做产品,那tt应该还是不错的.但是正等我去打开tt服务端源码向学习一下的时候,感觉代码中不尽如意的地方不少了.看得不算仔细,但是架构中单点服务的位置太多了,例如route server只有一个,im客户端发的每一个消息都会广播到所有的msg ser…
msgServer集群(ms) 设计作用: 该服务主要提供客户端的接入服务.每个ms维护当前接入用户的用户状态和心跳,每个ms地位是对等的. 设计考虑: ms之间不会直接交互,减少交互的复杂度.在用户数量增大的情况,只需要简单增加ms节点就可以解决. routeServer集群(rs) 设计作用: 该服务主要保存了为ms之间的信令传递(实际也就是用户之间)提供中转服务.可以配置共用n个rs主节点,每一个rs节点负责一部分用户与ms之间的映射关系,组成一个rs集群. 例如配置有4个rs节点分别为r…
ImFire需求 一期需求(近期) 1.新用户(账号)注册. 2.用户登入登出,支持pc端,移动端同时登录. 3.获取好友列表,包含好友的各种信息,状态. 4.根据用户id或用户名申请添加好友. 5.发送单聊消息(可发往陌生人). 6.新建群聊. 7.申请加入群聊. 8.发送群聊消息. 9.获取聊天记录. 10.设置用户状态. 二期需求(远期) 1.冻结用户账号 2.删除用户账号 3.“正在输入“显示. 4.语音聊天功能 5.视频功能.…
前言 大家新年快乐! 新的一年第一篇技术文章希望开个好头,所以元旦三天我也没怎么闲着,希望给大家带来一篇比较感兴趣的干货内容. 老读者应该还记得我在去年国庆节前分享过一篇<设计一个百万级的消息推送系统>:虽然我在文中有贴一些伪代码,依然有些朋友希望能直接分享一些可以运行的源码:这么久了是时候把坑填上了. 目录结构: 本文较长,高能预警:带好瓜子板凳. 于是在之前的基础上我完善了一些内容,先来看看这个项目的介绍吧: CIM(CROSS-IM) 一款面向开发者的 IM(即时通讯)系统:同时提供了一…
视酷即时通讯系统(原创),成熟稳定,拥有和微信一样强大的功能不再是梦,节省几个月研发时间迅速融合进项目中: 1.首家支持聊天室群聊 2.支持和微信一样的语音聊天,可以显示时长.未读状态,自动轮播未读语音: 3.支持发送图片.表情.GIF动画表情等: 4.数据库分库分表,速度极快,界面细节处理优美,bug极少. 5.另有注册用户.用户列表.加好友.好友列表等功能. 6.实现了发消息后,如接收方不在线,除了离线消息外,会自动推送通知,留了推送接口 7.安卓端和苹果端一样的功能:单台服务器能适应超10…
http://www.cnblogs.com/justnow/ GGTalk ——C#开源即时通讯系统 下载中心   GGTalk(简称GG)是可在广域网部署运行的QQ高仿版,2013.8.7发布GG V1.0版本,至今最新是5.5版本,关于GG更详细的介绍,可以查看 可在广域网部署运行的QQ高仿版 -- GGTalk总览. GGMeeting是可在广域网部署运行的视频会议系统Demo,2015.05.11发布V1.0版本,关于GGMeeting更详细的介绍,可以查看 打造自己的视频会议系统 G…
  (最新版本:V6.2,2019.01.03 .Xamarin移动端版本已经推出,包括 Android 和 iOS) GGTalk开源即时通讯系统(简称GG)是QQ的高仿版,同时支持局域网和广域网,包括客户端(PC客户端.android移动端).服务端.数据库.从2013年最初的GG1.0开放源码以来,到后来陆续增加了网盘功能.远程协助功能.离线文件功能.群聊功能.语音聊天功能.视频聊天功能.以及视讯录制功能.和增加了数据库.我想写一个类似汇总的文章,通过这篇文章,大家可以了解到GGTalk开…
首先要感谢大家一直以来对于GGTalk即时通讯系统的关注和支持!GGTalk即时通讯系统的不断完善与大家的支持分不开! 从2013年最初的GG1.0开放源码以来,到后来陆续增加了网盘功能.远程协助功能.离线文件功能.群聊功能.语音聊天功能.视频聊天功能.以及视讯录制功能.和增加了数据库——一路走来,结识许多朋友,大家不仅对GGTalk即时通讯系统的源码提了许多宝贵的建议,我还有幸与某些朋友取得了项目上的合作,这一切都是美妙的缘分! 一直以来,GGTalk即时通讯系统的移动端始终是一个缺憾.前段时…
像QQ这样的即时通信软件,时不时就会从桌面的右下角弹出一个小窗口,或是显示一个广告.或是一个新闻.或是一个公告等.在这里,我们将其统称为“全局系统通知”.很多使用C#开源即时通讯系统——GGTalk的朋友都建议我加上一个类似的功能,今天,GGTalk 5.1终于实现了这一功能,并且可以通过Web后台发送全局系统通知.下面,我们将一步步讲述这一功能是如何实现的(通过类似同样的步骤,大家可以为GGTalk添加任意的自己需要的功能). 1.定义消息类型和协议类 我们将全局系统通知分为两类: (1)第一…
在即时通讯系统(IM)中,加密重要的通信消息,是一个常见的需求.尤其在一些政府部门的即时通信软件中(如税务系统),对即时聊天消息进行加密是非常重要的一个功能,因为谈话中可能会涉及到机密的数据.我在最新的GG 4.5中,增加了对即时聊天消息进行加密的功能,但这一功能并不是强制的,可以通过开关来进行控制.本文就从 为什么要加密消息.不加密有什么风险开始说起,一直到把GG即时通信系统中实现加密消息的完整实现介绍清楚. 想要直接下载体验的朋友请点击:下载中心 一.为什么要加密即时聊天消息? 我们知道所有…