腾讯即时聊天sdk
一. 初始化 腾讯即时通讯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的更多相关文章
- 微信小程序集成腾讯云 IM SDK
微信小程序集成腾讯云 IM SDK 1.背景 因业务功能需求需要接入IM(即时聊天)功能,一开始想到的是使用 WebSocket 来实现这个功能,然天意捉弄(哈哈)服务器版本太低不支持 wx 协议(也 ...
- iOS 即时通讯SDK的集成,快速搭建自己的聊天系统
现在的外包项目需求变态的各种各样,今天要做社交,明天要加电商,后天又要加直播了,这些系统如果要自己开发,除非大公司技术和人力都够,不然短时间是几乎实现不了的.所以学会灵活利用市面上的各种SDK是灰常重 ...
- 即时聊天 / XMPP
MQTT是第二个即时聊天协议(了解) 5.即时通讯 即时通讯网上有第三方的解决方案,比如环信,融云等.我们是自己搭的xmpp服务器,服务器使用的tigase,之前写过相关的博客,自己去年也做了对应的w ...
- unity手游之聊天SDK集成与使用一
手游中都有聊天功能,比如公会,私聊,世界聊天,那么找一个好用,功能强大的SDK的可以节省很多精力,帮助我们提高开发速度与游戏质量. 写本篇博文是为了方便使用这个SDK做聊天模块的程序,避免许多坑,我在 ...
- 几款web版整合(QQ、msn、icq、yahoo通、Gtalk等)即时聊天http://hi.baidu.com/ejie/blog/item/e89794ef9a9431efce1b3ebd.html
直到近期为止,我们经常使用的即时聊天工具(QQ.msn等)了Web版,大家不用下载庞大软件,直接打开网页就能够与自己的好友聊天,很方便.在此将时汇总,便于大家查找,节约大家一点时间. 此都是官 ...
- web 直播&即时聊天------阿里云、融云
随着直播越来越火,所在公司也打算制作自己的直播,所以去了解了这方面,使用后发现还是有些问题需要记录的. 经过分析,制作直播应该是分为两块来做,即直播与实时评论.这里先去制作实时评论,等直播ok后,也会 ...
- web 直播&即时聊天------阿里云、融云(三)
经过前面的知识,基本已经把聊天室的功能搞定了,剩下的就是直播的问题了... 一如既往,阿里云的web demo也是少的可怜,只有一个web播放器(Prismplayer),所以这里主要就此播放器踩的坑 ...
- SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)
SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...
- Node.js + Web Socket 打造即时聊天程序嗨聊
前端一直是一块充满惊喜的土地,不仅是那些富有创造性的页面,还有那些惊赞的效果及不断推出的新技术.像node.js这样的后端开拓者直接将前端人员的能力扩大到了后端.瞬间就有了一统天下的感觉,来往穿梭于前 ...
随机推荐
- 【Visual Studio】在VS2012中使用VSXtra
最近工作中需要把之前为VS 2010写的扩展迁移到VS 2012上.在将工程版本改为VS2012之后,代码没有修改,直接编译通过,也可以安装到VS2012上. 不过,在实际使用的时候,却报错,提示“T ...
- 一套简单可依赖的Javascript库
还是[百度]的产品——Tangram不是我偏心,百度不是我亲戚这东西看上去确实不错 Tangram是一套简单可依赖的Javascript库,主要分为Base和Component两部分.Base提供了开 ...
- u11-nav02
header:before, header:after ,.navigation:before, .navigation:after,.nav-row:before, .nav-row:after,. ...
- [转]Oracle中存储过程和函数的区别
原文地址:http://blog.csdn.net/tender001/article/details/8066203 存储过程和函数: 例子: //创建过程 create or replace pr ...
- 【转】变量的声明和定义,从C到编译原理到C++,再到Java
基础学了太久,时间一长有些东西就可能记得不太清楚,俗话说得好,"好记性不如烂笔头",所以把基础中的基础-变量的声明和定义,从C到编译原理到C++,再到Java用烂笔头记录下来 最早 ...
- 【BZOJ 1013】【JSOI2008】球形空间产生器sphere 高斯消元基础题
最基础的高斯消元了,然而我把j打成i连WA连跪,考场上再犯这种错误就真的得滚粗了. #include<cmath> #include<cstdio> #include<c ...
- BIEE 维表
(1) 在物理层给表创建别名(表——>新建对象——>别名) (1) 在业务层创建维度(表——>创建逻辑维——>基于级别层次的维) 钻取是维本身的功能 一 ...
- 6.Android之switch和togglebutton按钮学习
Switch和ToggleButton按钮在手机上也经常看到,比如手机设置里面wlan,蓝牙,gps开关等. 首先在工具上拖进一个switch和togglebutton开关按钮,如图 生成xml代码如 ...
- POJ-1273 Drainage Ditches 最大流Dinic
Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 65146 Accepted: 25112 De ...
- maven-相关配置
Linux Ubuntu 安装Maven 我配置了 sudo gedit /etc/profile 配置了vi .bashrc 这个文档比较好(参考文档:http://www.linuxidc.co ...