• 蘑菇街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

  • 相关阅读:
    linux部署nuxt.js项目
    vue---el-table设置表头居中,内容列居中/左对齐/右对齐
    偶然看到的jquery选择器性能问题
    关于js中的回调函数问题
    html5图片上传(搬砖)
    css上传文件样式元素样式美化
    小记--转自张鑫旭的css命名规则
    关于nodeJS 在webstorm中的服务器配置
    关于window上的github 上传本地文件--傻瓜式教程
    关于PS的基本操作
  • 原文地址:https://www.cnblogs.com/yuqt/p/5119664.html
Copyright © 2020-2023  润新知