zoukankan      html  css  js  c++  java
  • 蘑菇街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

  • 相关阅读:
    两种常用的jquery事件加载的方法 的区别
    .net修炼笔记
    C#获取MySql 数据常用的代码
    sql时间格式化
    UMEditor(Ueditor mini)修改图片上传路径
    LeetCode_101. Symmetric Tree
    LeetCode_100. Same Tree
    LeetCode_88. Merge Sorted Array
    LeetCode_83. Remove Duplicates from Sorted List
    LeetCode_70. Climbing Stairs
  • 原文地址:https://www.cnblogs.com/yuqt/p/5119664.html
Copyright © 2011-2022 走看看