TeamTalk是蘑菇街开源的一款企业内部用的即时通讯软件(Enterprise IM),类似腾讯的RTX。网上也有很多的介绍,我这里也有写几遍关于这款产品的“流水账”,一方面对自己这段时间的阅读其代码做个总结,尽量做个既能宏观上从全局来介绍,又不缺少很多有价值的微观细节,另一方面如果对于作为读者的您有些许帮助,那就善莫大焉了。

项目地址github:https://github.com/baloonwj/TeamTalk

如果您打不开github,请移步至百度网盘下载:http://pan.baidu.com/s/1slbJVf3

关于即时通讯软件本身,我相信使用过QQ的都知道是啥。

下载项目解压后目录结构是这样的:

这款即时通讯软件分为服务器端(linux)、pc端、web端、mac端和两个移动端(ios和安卓),源码中使用了大量的开源技术(用项目作者的话说,就是“拿来主义”)。例如通信协议使用了google protobuf,服务器端使用了内存数据库redis,pc端界面库使用的duilib,pc端的日志系统使用的是YAOLOG库、cximage、jsoncpp库等等。在接下来各个端的源码分析中,我们将会深入和细致地介绍。

下一篇我将介绍首先介绍服务器端的程序的编译与部署。

如果您对服务器开发技术感兴趣,可以关注我的微信公众号『高性能服务器开发』,这个微信公众号致力于将服务器开发技术通俗化、平民化,让服务器开发技术不再神秘,其中整理了将服务器开发需要掌握的一些基础技术归纳整理,既有基础理论部分,也有实战部分。

TeamTalk源码分析(一)—— TeamTalk介绍相关推荐

  1. TeamTalk源码分析(十一) —— pc客户端源码分析

           --写在前面的话  在要不要写这篇文章的纠结中挣扎了好久,就我个人而已,我接触windows编程,已经六七个年头了,尤其是在我读研的三年内,基本心思都是花在学习和研究windows程序上 ...

  2. TeamTalk源码分析之login_server

    login_server是TeamTalk的登录服务器,负责分配一个负载较小的MsgServer给客户端使用,按照新版TeamTalk完整部署教程来配置的话,login_server的服务端口就是80 ...

  3. Teamtalk源码分析

    (TeamTalk服务端源码分析一)TeamTalk服务端部署 - 灰信网(软件开发博客聚合) TeamTalk源码分析(四) -- 服务器端db_proxy_server源码分析_左雪菲的专栏-CS ...

  4. 【SemiDrive源码分析】【X9芯片启动流程】08 - X9平台 lk 目录源码分析 之 目录介绍

    [SemiDrive源码分析][X9芯片启动流程]08 - X9平台 lk 目录源码分析 之 目录介绍 一./rtos/lk/ 目录结构分析 1.1 /rtos/lk_boot/ 目录结构分析 1.2 ...

  5. TeamTalk源码分析(三) —— 服务器端的程序架构介绍

    通过上一节的编译与部署,我们会得到TeamTalk服务器端以下部署程序: db_proxy_server file_server http_msg_server login_server msfs m ...

  6. TeamTalk源码分析之win-client

    windows的程序的基本原理: windows消息机制(消息如何产生.如何发送.如何处理,常见的消息有哪些.消息的优先级.如何自定义消息.窗体消息.常用控件消息) gdi原理(要熟悉gdi的各种对象 ...

  7. TeamTalk源码分析(二) —— 服务器端的程序的编译与部署

    写在前面的话,如果您在部署teamtalk过程中遇到困难,可以关注我的微信公众号『easyserverdev』,在微信公众号中回复『teamtalk部署求助』,我将与你取得联系并协助您解决.或者您对高 ...

  8. android 6.0 SystemUI源码分析(1)-SystemUI介绍

    1. SystemUI介绍 SystemUI是一个系统应用,主要功能有: 1)状态栏信息显示,比如电池,wifi信号,3G/4G等icon显示 2)通知面板,比如系统消息,第三方应用消息,都是在通知面 ...

  9. 集合之TreeMap源码分析,简单介绍什么是红黑树,SortedMap和NavigableMap之间的关系和区别

    TreeMap底层实现 1. TreeMap底层实现是红黑树,并且树的节点是内部类Entry类型 2. 红黑树的定义 ① 每个节点是黑色或红色:②根节点是黑色:③所有的叶节点是黑色,不是真正的叶节点, ...

  10. spark 源码分析之二十 -- Stage的提交

    引言 上篇 spark 源码分析之十九 -- DAG的生成和Stage的划分 中,主要介绍了下图中的前两个阶段DAG的构建和Stage的划分. 本篇文章主要剖析,Stage是如何提交的. rdd的依赖 ...

最新文章

  1. c++ 调用labview_LabVIEW面向对象编程_初窥门径(5):开发方式漫谈
  2. 软工实践——团队作业需求规格说明书——原型UI设计
  3. HTML与CSS基础之子和后代元素选择器(八)
  4. CortexM0开发 —— UART时序分析
  5. 艾诺迪亚4一次性完美刷经验刷金钱方法图解[亲测无需闪退游戏]
  6. linux 下ifconfig修改IP
  7. 换手率:为什么美国人不爱频繁申赎基金?
  8. InnoDB 存储引擎(8)——InnoDB 存储引擎文件
  9. AdminLTE-2.4.10源码包
  10. 尚硅谷ssm整合实战项目笔记
  11. 学术英语阅读与写作6:讨论和结论discussion and conclusion
  12. 京东自营,你TM太坑了。
  13. PE启动如何解除BitLocker硬盘锁
  14. 【场景削减】拉丁超立方抽样方法场景削减(Matlab代码实现)
  15. C++中函数返回引用
  16. Murmurhash介绍与实现
  17. Fine-Gray检验、竞争风险模型、列线图绘制
  18. 电脑公司 雨林.番茄.深度.龙帝国.系统之家.系统光盘收录大全
  19. 用python做网站优点_php和django做网站哪个好
  20. Flutter 从 TextField 安全泄漏问题深入探索文本输入流程

热门文章

  1. c语言万年历查询程序代码,C语言实现万年历程序
  2. 什么是无线射频识别技术(RFID)
  3. 几乎没人教你的用poi导出如此复杂的考勤表
  4. 计量经济学计算机实验报告,计量经济学实验报告.doc
  5. 160个CrackMe001
  6. 赢在微创新_小米用互联网颠覆中国市场的内幕与方法
  7. mysql java驱动 ibm_各种数据库的jdbc驱动下载及连接方式
  8. EnableViewState和ViewStateMode差别详解
  9. Flash cs6 学习(一) 制作一个包含几个按钮控件的影片剪辑
  10. 无盘服务器 免费,免费无广告的网咖专用云无盘安装图文教程