随笔分类 - GGTalk即时通讯源码系列
QQ高仿版 - GGTalk
摘要:GGTalk 内部实现了多种机制以确保消息的可靠性(不会错漏消息和重复消息),那么这些机制具体是怎么实现的了?
阅读全文
摘要:GGTalk 对需要频繁请求服务器的数据做了客户端全局缓存处理,大大减少了向服务器的请求次数,降低了服务器的压力,而且,这也使得客户端的运行速度更快、用户操作体验更流畅。那么,这是怎么实现的了?
阅读全文
摘要:GGTalk 除了支持真实的数据库外,还内置了虚拟的数据库,仅仅通过修改一行配置便可启用虚拟数据库,无需部署真实数据库就能体验GGTalk的全部功能。若只是需要做简单的演示或测试,这将极大地简化服务端的部署过程,使得服务端能立即运行起来。
阅读全文
摘要:GGTalk 对需要频繁查询数据库的数据做了服务端全局缓存处理,这样做将大大降低了数据库的读取压力,并且使得服务端能更快地响应客户端的请求,极大地提升了用户体验。这篇文章将会详细剖析关于 GGTalk 服务端全局缓存的设计与实现。
阅读全文
摘要:有园友联系我,说能不能整理个更系统更详细地介绍GGTalk源码的文章,之前博客中的介绍比较零散,对于初级程序员而言,面对GGTalk大量的源码,有点不知所措。于是,我打算写一个《GGTalk源码剖析》系列的文章来完整地介绍GGTalk的方方面面。
阅读全文
摘要:这几年,信创国产化的势头越来越猛,政府事企业单位都在逐步转向使用国产OS、国产CPU、国产数据库。于是,经过一年多时间的开发,GGTalk 终于推出8.0版本,实现了Linux客户端,现在分享给大家!
阅读全文
摘要:距离2013年开源GGTalk以来,7年已经过去了,GGTalk现在有了完整的PC版、安卓版、iOS版,以及Xamarin版本。接下来GGTalk将推出国产化版本,以支持Linux/Ubuntu、中标麒麟、UOS等国产操作系统。我们选定了Avalonia框架作为GGTalk Linux版本的UI技术。
在考察了众多的Linux上的UI技术之后,我们选定了现在很主流的Avalonia框架作为GGTalk的客户端版本的UI技术。
阅读全文
摘要:经过连续两个多月的努力(开发、调试、测试、改bug),我们终于赶在中秋国庆之前能发布GGTalk 7.0,并把全新的功能完整的GGTalk Android版献给大家。祝大家中秋国庆双节快乐!
阅读全文
摘要:基于TCP socket的应用,用户注册功能一般是通过其它方式来实现的,比如,使用WebAPI,或者使用.NET Remoting等技术。 有没有办法可以不使用另外的技术而是直接基于当前的TCP连接来实现了?
阅读全文
摘要:GGTalk即时通信系统是可在广域网部署运行的C#开源即时通信系统。在即时通讯系统(IM)中,加密重要的通信消息,是一个常见的需求。尤其在一些政府部门的即时通信软件中(如税务系统),对即时聊天消息进行加密是非常重要的一个功能,因为谈话中可能会涉及到机密的数据。本文将详细介绍加解密的流程、原理、以及详细实现。
阅读全文
摘要:GGTalk(简称GG)是可在广域网部署运行的QQ高仿版 ,2013.08.07发布V1.0版本,至今最新是8.0版本,关于GG更详细的介绍,可以查看 可在广域网部署运行的QQ高仿版 -- GGTalk总览。 GGMeeting是可在广域网部署运行的视频会议系统Demo,2015.05.11发布V1
阅读全文
摘要:从2013年最初的GG1.0开放源码以来,到后来陆续增加了网盘功能、远程协助功能、离线文件功能、群聊功能、语音聊天功能、视频聊天功能、以及视讯录制功能、和增加了数据库——一路走来,结识许多朋友,大家不仅对GGTalk即时通讯系统的源码提了许多宝贵的建议,我还有幸与某些朋友取得了项目上的合作,这一切都是美妙的缘分!
阅读全文
摘要:不需要任何部署,这是虚拟数据库最方便的地方和最大的好处了!我们都知道,有时仅仅为了给客户演示一个简单的小功能,就需要安装一个庞大的SqlServer或Oralce,是多么痛苦的一件事!
阅读全文
摘要:录制整个视频聊天过程是IM系统中比较常见的需求。比如,基于网络语音视频的1:1的英语口语辅导,如果能将辅导的整个过程录制下来,那录制得到的这个MP4文件就是一份难得的资料,便于以后复习和分享。我将视频对话过程的录制功能封装在VideoChatRecorder组件中,方便大家复用。
阅读全文
摘要:前段时间做了个在线教育培训的项目,与视频会议比较类似,所以了,我打算像GGTalk开源即时通讯系统一样,搞一个开源视频会议系统并把实现的原理和源码都分享出来,让有兴趣的朋友可以参考下。继承GG的名称,我把这个开源视频会议系统命名为GGMeeting,目前版本为1.0,后续功能会不断增强。
阅读全文
摘要:QQ有个靠边隐藏的功能,使用起来很方便:在屏幕上拖动QQ的主窗体,当窗体的上边沿与屏幕的上边沿对齐时,主窗体就会duang~~地隐藏起来,当将鼠标移到屏幕上边沿的对应区域时,主窗体又会duang~~显示出来。那么,靠边隐藏功能到底是怎么实现的了?
阅读全文
摘要:当QQ收到好友的消息时,托盘的图标会变成好友的头像,并闪动起来,点击托盘,就会弹出与好友的聊天框,随即,托盘恢复成QQ的图标,不再闪动。当然,如果还有其它的好友的消息没有提取,托盘的图标会变成另一个好友的图标,并继续闪动。那么,QQ的这一效果是如何实现的了?本文将为你详细解密。
阅读全文
摘要:距上次GG V3.7版本的发布,已经有50天了,这50天对于GG来说,是一个重大的飞跃。因为这段时间通过一些基于GG的实战项目,发现了GG的很多bug和不足之处,我都一一做了修正,并增加了一些基础且必须的功能。这次发布的是GG V4.0版本,又称为GG 2014。
阅读全文
摘要:在广域网中,由于网络的结构纷繁复杂、而且其实时状况又是千变万化的,所以,要使广域网中的视频聊天达到一个令人满意的效果,存在诸多挑战。这次发布的GG 3.7版本尝试在这一方向上做一些努力。本文不仅会分享GG的最新源码,而且也会把我在过去项目中总结的一些语音视频聊天的优化经验分享给大家。
阅读全文
摘要:自从微信出来后,语音消息和语音留言变得非常流行,按下一个键说话,比打字要方便多了。GG在V3.6版本增加了语音消息和语音留言功能。
阅读全文