蘑菇街teamtalk简介
这几天在看蘑菇街实时通讯程序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简介相关推荐
- 开源IM工程“蘑菇街TeamTalk”的现状:一场有始无终的开源秀
1.前言 随着云IM的发展,已吸引越来越多有IM需求的APP接入.但考虑到云IM无论从商业模式还是运营模式上,还需经过多年的沉淀,才可能真正实现客户与服务商的运营和服务良性循环的双赢局面.在此之前,加 ...
- 蘑菇街服务器信息,蘑菇街TeamTalk服务器端MsgServer分析(一)
MsgServer 是 TeamTalk 中最关键的一个 server,它和 LoginServer,filerServer,RouteServer,DB_Prox_Server 都有联系.本文只谈 ...
- P2P技术详解(一):NAT详解——详细原理、P2P简介(转)
这是一篇介绍NAT技术要点的精华文章,来自华3通信官方资料库,文中对NAT技术原理的介绍很全面也很权威,对网络应用的应用层开发人员而言有很高的参考价值. <P2P技术详解>系列文章 ➊ 本 ...
- 015. P2P技术详解(一):NAT详解——详细原理、P2P简介
http://www.52im.net/thread-50-1-1.html 这是一篇介绍NAT技术要点的精华文章,来自华3通信官方资料库,文中对NAT技术原理的介绍很全面也很权威,对网络应用的应用层 ...
- 最快速的TeamTalk 服务器部署方
最快速的TeamTalk 服务器部署 什么是 TeamTalk .戳这里:蘑菇街TeamTalk. 环境:Centos 6.664位系统,建议为全新系统,没有安装mysql.php和nginx等. 工 ...
- 视频编解码之理论概述 和即时通信
前言 即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙.原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的.有关实时 ...
- 一文读懂Https的安全性原理、数字证书、单项认证、双项认证等
为什么80%的码农都做不了架构师?>>> 本文引用了作者Smily(博客:blog.csdn.net/qq_20521573)的文章内容,感谢无私分享. 1.前言 目前苹果公司 ...
- 【原创】新手入门一篇就够:从零开发移动端IM
一.前言 IM发展至今,已是非常重要的互联网应用形态之一,尤其移动互联网时代,它正以无与论比的优势降低了沟通成本和沟通代价,对各种应用形态产生了深远影响. 做为IM开发者或即将成为IM开发者的技术人员 ...
- 【转】WebSocket详解(一):初步认识WebSocket技术
1.前言 HTML5规范在传统的web交互基础上为我们带来了众多的新特性,随着web技术被广泛用于web APP的开发,这些新特性得以推广和使用,而websocket作为一种新的web通信技术具有巨大 ...
- IM开发基础知识补课:正确理解前置HTTP SSO单点登陆接口的原理
1.前言 一个安全的信息系统,合法身份检查是必须环节.尤其IM这种以"人"为中心的社交体系,身份认证更是必不可少. 一些PC时代小型IM系统中,身份认证可能直接做到长连接中(也就是 ...
最新文章
- iOS 处理键盘遮挡TextField、TextView问题
- Django从理论到实战(part31)--Django数据库查询操作
- 在Firefox 58中,WebAssembly组件性能提升了10倍
- ad采样做按键开关_电池应用中的电流采样电阻设计
- matlab期中考试卷,湖南大学matlab期中考试试卷分析
- 数据库---主要约束操作讲解
- 一步一步SharePoint 2007之四十八:实现Excel Service(3)——调用Excel Service
- eclipse进度条从后台还原到前台
- php从入门到精通分享,PHP从入门到精通学习路线图分享
- miui tv android,MIUI for TV 3.0上线 应用远程安装 手机反控电视
- Jenkins插件安装
- 侦探小明:如何判断电脑里突然出现的流氓广告来自哪个软件?
- excel合并两列内容_WPS-excel简单将几个单元格的内容合并到一起
- 实时可视化大数据项目01 -- 项目介绍
- 好用的vue组件插件及框架
- 关于vscode中输入的中文变繁体的问题
- java.lang.IllegalArgumentException: View=DecorView not attached to window manager(Android Dialog崩溃)
- 互联网真的寒冬了么?——1024,祝程序员节日快乐。
- L1-088 静静的推荐(2022年4月23号天梯赛)
- 系统修复软件测试工资,技术员们有福了,关于怎么用MHDD修复硬盘坏道,现在免费给大家了!!!...
热门文章
- python统计指定数字和_Python实现统计给定列表中指定数字出现次数的方法
- Altium designer Sch Compiler:编译常见错误
- 无需工具qlv转mp4格式最新,下载好的qlv文件怎么转换成mp4?腾讯视频怎么下载mp4格式?怎么把腾讯视频转换成mp4格式?
- 中国肠衣产业调研与投资方向研究报告(2022版)
- 怎么删除android系统自带软件,手机系统自带的那些软件不用却卸载不了,怎么办?...
- 房贷收入证明是月供的几倍?
- 关于FRM这些事,你必须完全知道!
- SHIO世硕科技马新云携全体员工:2021,在此感谢所有的一切!
- 2022-2028年中国建筑劳务行业发展模式分析及投资趋势预测报告
- python提升算法3_XGBOOST_docs_Scikit-LearnAPI_XGBClassifier_train参数01