腾讯即时聊天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这样的后端开拓者直接将前端人员的能力扩大到了后端.瞬间就有了一统天下的感觉,来往穿梭于前 ...
随机推荐
- 第七章 new的三步曲
这章是本系列文章的重点,这章揭示了js对象的真正本质 看下面的事例 var a = new b(); 等价于 ①var a={}; ②a.__proto__=b.prototype; ③b.call( ...
- node 日志
我们主动控制的log4js,还有一些日志是继承好的,错误日志了,进程日志了,请求日志了. 1. var express = require('express');var logger = requir ...
- js的深度拷贝和浅拷贝
从extend看浅拷贝和深拷贝 请先查看: http://blog.sina.com.cn/s/blog_912389e5010120n2.html
- java中的File类
File类 java中的File类其实和文件并没有多大关系,它更像一个对文件路径描述的类.它即可以代表某个路径下的特定文件,也可以用来表示该路径的下的所有文件,所以我们不要被它的表象所迷惑.对文件的真 ...
- beta版本项目冲刺
项目冲刺第一天 项目冲刺第二天 项目冲刺第三天 项目冲刺第四天 项目冲刺第五天 项目冲刺第六天 项目冲刺第七天
- Qt模型/视图框架----简单的例子
#include<qapplication.h> #include<qfilesystemmodel.h> #include<qtreeview.h> #inclu ...
- CSS_复习
//这个可以作为补白居中的替补方法<!doctype html> <html> <head> <meta charset="utf-8"& ...
- 35.Android之带删除按钮EditText学习
今天实现Android里自定义带删除功能的EditText,效果如下: 当输入内容时,EditText变为带有一个删除功能按钮的编辑框,如图: 实现代码很简单,直接上代码, 布局文件xml: < ...
- 【bzoj4010】 HNOI2015—菜肴制作
http://www.lydsy.com/JudgeOnline/problem.php?id=4010 (题目链接) 题意 给出一张无向图要求出一个拓扑序列满足1的位置最靠前 ,在保证上面的条件下使 ...
- 从ICLassFactory 为 CLSID的COM组建创建实例失败:c001f011
在sqlserver创建计划任务的时候,保存时出现:“从ICLassFactory 为 CLSID的COM组建创建实例失败:c001f011”. 解决方法:在运行sqlserver时,使用“以管理员身 ...