一. 初始化 腾讯即时通讯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. 聊聊HTTPS和SSL_TLS协议

    要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识. 1. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义 2. 大致了解 HTTP 和 TCP 的关系(尤其是“短连接”VS“长 ...

  2. C++读取特定路径下文件目录及文件名称

    这几天在弄一个项目,需要读取给定路径下的所有文件夹名称或所有带后缀的文件名. 查了下C++的资料,发现有很多方法,这里总结其中的一种,其他用法类似. 主要用到了以下几个头文件(类):io.h, fst ...

  3. NuGet更新引用Dll

    第一种 通过 "Add Library Package Reference..." 添加 点击 ‘Add Library Package Reference...’ , 搜索你要添 ...

  4. [USACO2004][poj2375]Cow Ski Area(在特殊图上用floodfill代替强联通算法)

    http://poj.org/problem?id=2375 题意:一个500*500的矩形,每个格子都有一个高度,不能从高度低的格子滑到高度高的格子(但相等高度可以滑),已知可以在2个相邻格子上加桥 ...

  5. [USACO2003][poj2018]Best Cow Fences(数形结合+单调队列维护)

    http://poj.org/problem?id=2018 此乃神题……详见04年集训队论文周源的,看了这个对斜率优化dp的理解也会好些. 分析: 我们要求的是{S[j]-s[i-1]}/{j-(i ...

  6. 使用Git进行代码管理

    Git简介 Git 是 Linux Torvalds 为了帮助管理 Linux® 内核开发而开发的一个开放源码的版本控制软件. 先讲一下如何把开源项目fork到自己的github中 1.  点击图中的 ...

  7. navjs

    'use strict';define([ 'jquery'], function($) { var nav = { init : function() { $("#burger-menu& ...

  8. iOS边练边学--cocoaPods管理第三方框架--命令行方式实现

    更换源 Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如 http://rubygems.org/)源来查找.安装.升级和写在软件包 gem sources --remove ht ...

  9. .net架构设计读书笔记--第三章 第9节 域模型实现(ImplementingDomain Model)

        我们长时间争论什么方案是实现域业务领域层架构的最佳方法.最后,我们用一个在线商店案例来说明,其中忽略了许多之前遇到的一些场景.在线商店对很多人来说更容易理解. 一.在线商店项目简介 1. 用例 ...

  10. codevs1500 后缀排序

    题目描述 Description 天凯是MIT的新生.Prof. HandsomeG给了他一个长度为n的由小写字母构成的字符串,要求他把该字符串的n个后缀(suffix)从小到大排序. 何谓后缀?假设 ...