这几天在看蘑菇街实时通讯程序teamtalk的安卓端代码。现在对程序的大概情况进行简单的介绍。

蘑菇街的teamtalk开源项目包含了服务器端,Android客户端和iPhone客户端的程序。想要进行研究的可以去github上面下载网址如下

https://github.com/mogujie/TeamTalk

1.主要的第三方技术

eventbus用于消息传递,eventbus的介绍和使用,详见如下博客

http://www.cnblogs.com/yuqt/p/5042985.html

greenDAO简化了SQLite操作,实现了Java object和SQLite之间的转换。参考一下论文看

http://my.oschina.net/cheneywangc/blog/196354

http://my.oschina.net/cheneywangc/blog/196360

2.使用的协议:Google ProtoBuf具体的介绍可以看下面这篇文章:

http://blog.csdn.net/eroswang/article/details/6011566

3.主要的功能分析:

登录功能

会话功能(包括个人会话,和群组会话)

通讯录功能

设置功能能

搜索功能

4.具体功能实现分析

登录功能:支持离线登录和在线登录。登录的具体流程如下:

1.连接成功后,判断是否可以直接登录。

true:1.从DB中获取历史状态,

2.建立长连接,请求最新的数据状态

3.完成。

false:1.跳转到登录页面

2.请求消息服务器地址,链接,验证,触发事件loginSuccess

3.保存登录状态

重要函数:LoginActivity.java 中 handleGotLOginIdentity(SpLoginIdentity s)和onLoginSuccess()

IMLoginManager.java 中login(SpLoginIdentity s)函数

IMSocketManager.java 中reqMsgServerAddrs()

2.会话功能

主要是最近联系人fragment页。ChatFragment.java

转载于:https://www.cnblogs.com/yuqt/p/5119664.html

蘑菇街teamtalk简介相关推荐

  1. 开源IM工程“蘑菇街TeamTalk”的现状:一场有始无终的开源秀

    1.前言 随着云IM的发展,已吸引越来越多有IM需求的APP接入.但考虑到云IM无论从商业模式还是运营模式上,还需经过多年的沉淀,才可能真正实现客户与服务商的运营和服务良性循环的双赢局面.在此之前,加 ...

  2. 蘑菇街服务器信息,蘑菇街TeamTalk服务器端MsgServer分析(一)

    MsgServer 是 TeamTalk 中最关键的一个 server,它和 LoginServer,filerServer,RouteServer,DB_Prox_Server 都有联系.本文只谈 ...

  3. P2P技术详解(一):NAT详解——详细原理、P2P简介(转)

    这是一篇介绍NAT技术要点的精华文章,来自华3通信官方资料库,文中对NAT技术原理的介绍很全面也很权威,对网络应用的应用层开发人员而言有很高的参考价值. <P2P技术详解>系列文章 ➊ 本 ...

  4. 015. P2P技术详解(一):NAT详解——详细原理、P2P简介

    http://www.52im.net/thread-50-1-1.html 这是一篇介绍NAT技术要点的精华文章,来自华3通信官方资料库,文中对NAT技术原理的介绍很全面也很权威,对网络应用的应用层 ...

  5. 最快速的TeamTalk 服务器部署方

    最快速的TeamTalk 服务器部署 什么是 TeamTalk .戳这里:蘑菇街TeamTalk. 环境:Centos 6.664位系统,建议为全新系统,没有安装mysql.php和nginx等. 工 ...

  6. 视频编解码之理论概述 和即时通信

    前言 即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙.原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的.有关实时 ...

  7. 一文读懂Https的安全性原理、数字证书、单项认证、双项认证等

    为什么80%的码农都做不了架构师?>>>    本文引用了作者Smily(博客:blog.csdn.net/qq_20521573)的文章内容,感谢无私分享. 1.前言 目前苹果公司 ...

  8. 【原创】新手入门一篇就够:从零开发移动端IM

    一.前言 IM发展至今,已是非常重要的互联网应用形态之一,尤其移动互联网时代,它正以无与论比的优势降低了沟通成本和沟通代价,对各种应用形态产生了深远影响. 做为IM开发者或即将成为IM开发者的技术人员 ...

  9. 【转】WebSocket详解(一):初步认识WebSocket技术

    1.前言 HTML5规范在传统的web交互基础上为我们带来了众多的新特性,随着web技术被广泛用于web APP的开发,这些新特性得以推广和使用,而websocket作为一种新的web通信技术具有巨大 ...

  10. IM开发基础知识补课:正确理解前置HTTP SSO单点登陆接口的原理

    1.前言 一个安全的信息系统,合法身份检查是必须环节.尤其IM这种以"人"为中心的社交体系,身份认证更是必不可少. 一些PC时代小型IM系统中,身份认证可能直接做到长连接中(也就是 ...

最新文章

  1. iOS 处理键盘遮挡TextField、TextView问题
  2. Django从理论到实战(part31)--Django数据库查询操作
  3. 在Firefox 58中,WebAssembly组件性能提升了10倍
  4. ad采样做按键开关_电池应用中的电流采样电阻设计
  5. matlab期中考试卷,湖南大学matlab期中考试试卷分析
  6. 数据库---主要约束操作讲解
  7. 一步一步SharePoint 2007之四十八:实现Excel Service(3)——调用Excel Service
  8. eclipse进度条从后台还原到前台
  9. php从入门到精通分享,PHP从入门到精通学习路线图分享
  10. miui tv android,MIUI for TV 3.0上线 应用远程安装 手机反控电视
  11. Jenkins插件安装
  12. 侦探小明:如何判断电脑里突然出现的流氓广告来自哪个软件?
  13. excel合并两列内容_WPS-excel简单将几个单元格的内容合并到一起
  14. 实时可视化大数据项目01 -- 项目介绍
  15. 好用的vue组件插件及框架
  16. 关于vscode中输入的中文变繁体的问题
  17. java.lang.IllegalArgumentException: View=DecorView not attached to window manager(Android Dialog崩溃)
  18. 互联网真的寒冬了么?——1024,祝程序员节日快乐。
  19. L1-088 静静的推荐(2022年4月23号天梯赛)
  20. 系统修复软件测试工资,技术员们有福了,关于怎么用MHDD修复硬盘坏道,现在免费给大家了!!!...

热门文章

  1. python统计指定数字和_Python实现统计给定列表中指定数字出现次数的方法
  2. Altium designer Sch Compiler:编译常见错误
  3. 无需工具qlv转mp4格式最新,下载好的qlv文件怎么转换成mp4?腾讯视频怎么下载mp4格式?怎么把腾讯视频转换成mp4格式?
  4. 中国肠衣产业调研与投资方向研究报告(2022版)
  5. 怎么删除android系统自带软件,手机系统自带的那些软件不用却卸载不了,怎么办?...
  6. 房贷收入证明是月供的几倍?
  7. 关于FRM这些事,你必须完全知道!
  8. SHIO世硕科技马新云携全体员工:2021,在此感谢所有的一切!
  9. 2022-2028年中国建筑劳务行业发展模式分析及投资趋势预测报告
  10. python提升算法3_XGBOOST_docs_Scikit-LearnAPI_XGBClassifier_train参数01