一. 初始化 腾讯即时通讯sdk

1. 程序日志注册

2. 连接通知回调  专门的类管理

3. 信息通知回调 专门的类

4. 初始化sdk

5. 注册推送 分ios8/ios以前

注册推送成功回调

发送devicetoken到腾讯服务器

注册推送失败回调

log

接收到推送

专门类负责

6. 即将注销活跃状态 resignActive

doBackgroud通知腾讯服务器

聊天控制器

tableview toobar navigationbar等界面

根据 接受identifier 获取 conversation

conversation获取指定数量的message, 把message打包成 各种类型的MyMsgModel, 并且加入MyMsgModel数组

tableview reload

###########################################################################

腾讯即时通讯的设计理念:

腾讯IM主要要使用的类是:

TIMConversation

TIMMessage

TIMManager

TIMGroupManager

回调方式支持2种: block和protocol, 可任选一种

其实这个即时通讯框架具备了 操作日志 和本地数据库 功能, 但是却把这两者封装起来, 开发人员用的时候完全不用考虑本地数据库和日志操作

通讯方式:

1. iphone客户端1 -> 发送消息

2. 腾讯服务器接收消息, 并存入服务器数据库, 转发消息 到iphone客户端2

3. -> iphone客户端2 接收到消息, 存入本地数据库

####################

获取文件/图片等比较大的文件时, 并没有把图片立即发到客户端, 而是使用 protocol/block 再次获取

####################

猜想数据库结构大致是:

消息记录表

消息记录ID  腾讯用户_发送方_ID 腾讯用户_接收方_ID 是否发送方 会话ID  记录内容  附件  创建时间  最后修改时间  

会话记录表

绘画记录ID  会话类型  会话_成员表ID 

会话_成员表

会话_成员ID    成员ID

TIManager则是管理数据库和表的创建和开启/修改

音视频聊天SDK

2.1.常用到的类

AVContext (上下文)

方法:

CreateContext() StartContext() StopContext() DestoryContext()

CreateRoom() EnterRoom() GetRoom() ExitRoom()

getAudioDeviceMgr() getVideoDeviceMgr()

AVRoom (房间)

枚举类型: AVRoomPair AVRoomMulti

委托: AVRoomDelegate AVRoomPairDelegate AVRoomMultiDelegate

AVEndPoint (用户/终端)

AVDevice (设备)

  AVAudioDevice (音频设备)

  AVVedioDevice (视频设备)

  AVRemoteVedioDevice (远程视频设备)

  AVCameraDevice (摄像头设备)

AVDeviceMgr (设备管理器)

AVVideoCtrl (视频控制)

AVAudioCtrl (音频控制)

  GetVolume()、SetVolume()、GetDynamicVolume()

腾讯即时聊天sdk的更多相关文章

  1. 微信小程序集成腾讯云 IM SDK

    微信小程序集成腾讯云 IM SDK 1.背景 因业务功能需求需要接入IM(即时聊天)功能,一开始想到的是使用 WebSocket 来实现这个功能,然天意捉弄(哈哈)服务器版本太低不支持 wx 协议(也 ...

  2. iOS 即时通讯SDK的集成,快速搭建自己的聊天系统

    现在的外包项目需求变态的各种各样,今天要做社交,明天要加电商,后天又要加直播了,这些系统如果要自己开发,除非大公司技术和人力都够,不然短时间是几乎实现不了的.所以学会灵活利用市面上的各种SDK是灰常重 ...

  3. 即时聊天 / XMPP

    MQTT是第二个即时聊天协议(了解) 5.即时通讯 即时通讯网上有第三方的解决方案,比如环信,融云等.我们是自己搭的xmpp服务器,服务器使用的tigase,之前写过相关的博客,自己去年也做了对应的w ...

  4. unity手游之聊天SDK集成与使用一

    手游中都有聊天功能,比如公会,私聊,世界聊天,那么找一个好用,功能强大的SDK的可以节省很多精力,帮助我们提高开发速度与游戏质量. 写本篇博文是为了方便使用这个SDK做聊天模块的程序,避免许多坑,我在 ...

  5. 几款web版整合(QQ、msn、icq、yahoo通、Gtalk等)即时聊天http://hi.baidu.com/ejie/blog/item/e89794ef9a9431efce1b3ebd.html

        直到近期为止,我们经常使用的即时聊天工具(QQ.msn等)了Web版,大家不用下载庞大软件,直接打开网页就能够与自己的好友聊天,很方便.在此将时汇总,便于大家查找,节约大家一点时间. 此都是官 ...

  6. web 直播&即时聊天------阿里云、融云

    随着直播越来越火,所在公司也打算制作自己的直播,所以去了解了这方面,使用后发现还是有些问题需要记录的. 经过分析,制作直播应该是分为两块来做,即直播与实时评论.这里先去制作实时评论,等直播ok后,也会 ...

  7. web 直播&即时聊天------阿里云、融云(三)

    经过前面的知识,基本已经把聊天室的功能搞定了,剩下的就是直播的问题了... 一如既往,阿里云的web demo也是少的可怜,只有一个web播放器(Prismplayer),所以这里主要就此播放器踩的坑 ...

  8. SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)

     SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...

  9. Node.js + Web Socket 打造即时聊天程序嗨聊

    前端一直是一块充满惊喜的土地,不仅是那些富有创造性的页面,还有那些惊赞的效果及不断推出的新技术.像node.js这样的后端开拓者直接将前端人员的能力扩大到了后端.瞬间就有了一统天下的感觉,来往穿梭于前 ...

随机推荐

  1. 【Visual Studio】在VS2012中使用VSXtra

    最近工作中需要把之前为VS 2010写的扩展迁移到VS 2012上.在将工程版本改为VS2012之后,代码没有修改,直接编译通过,也可以安装到VS2012上. 不过,在实际使用的时候,却报错,提示“T ...

  2. 一套简单可依赖的Javascript库

    还是[百度]的产品——Tangram不是我偏心,百度不是我亲戚这东西看上去确实不错 Tangram是一套简单可依赖的Javascript库,主要分为Base和Component两部分.Base提供了开 ...

  3. u11-nav02

    header:before, header:after ,.navigation:before, .navigation:after,.nav-row:before, .nav-row:after,. ...

  4. [转]Oracle中存储过程和函数的区别

    原文地址:http://blog.csdn.net/tender001/article/details/8066203 存储过程和函数: 例子: //创建过程 create or replace pr ...

  5. 【转】变量的声明和定义,从C到编译原理到C++,再到Java

    基础学了太久,时间一长有些东西就可能记得不太清楚,俗话说得好,"好记性不如烂笔头",所以把基础中的基础-变量的声明和定义,从C到编译原理到C++,再到Java用烂笔头记录下来 最早 ...

  6. 【BZOJ 1013】【JSOI2008】球形空间产生器sphere 高斯消元基础题

    最基础的高斯消元了,然而我把j打成i连WA连跪,考场上再犯这种错误就真的得滚粗了. #include<cmath> #include<cstdio> #include<c ...

  7. BIEE 维表

    (1)       在物理层给表创建别名(表——>新建对象——>别名) (1)       在业务层创建维度(表——>创建逻辑维——>基于级别层次的维) 钻取是维本身的功能 一 ...

  8. 6.Android之switch和togglebutton按钮学习

    Switch和ToggleButton按钮在手机上也经常看到,比如手机设置里面wlan,蓝牙,gps开关等. 首先在工具上拖进一个switch和togglebutton开关按钮,如图 生成xml代码如 ...

  9. POJ-1273 Drainage Ditches 最大流Dinic

    Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 65146 Accepted: 25112 De ...

  10. maven-相关配置

    Linux Ubuntu 安装Maven 我配置了  sudo gedit /etc/profile 配置了vi .bashrc 这个文档比较好(参考文档:http://www.linuxidc.co ...