若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/119305601
长期持续带来更多项目与技术分享,咨询请加QQ:21497936、微信:yangsir198808
红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)

Qt开发专栏:三方库开发技术

前言

  开发一个支持全国的IM聊天,可以有基本的功能,发送文本、图片、文件等等相关内容。

腾讯IM产品

概述

  腾讯即时通信IM是腾讯推出的即时聊天程序,当前时间为2020年3月(腾讯IM的优惠活动和售卖方案不同时期会有变化)。
  该IM提供各端接入接口、稳定必达、覆盖全球的即时通信云服务上。

应用场景

  包括但不限于以下场景:
  
  

特点

消息传输

  支持文字、图片、短语音、短视频等富媒体消息及自定义消息与自定义表情,支持保存历史漫游消息,集成消息撤回、消息转发、安全打击等扩展能力,构建稳定、便捷的消息传输通道。
  

会话管理

  集成 TUIKit 组件,轻松实现添加会话、会话置顶、会话列表展示,未读消息计数,历史漫游消息展示等功能。
  

群组管理

  支持群成员管理、群组自定义字段、群资料与群公告变更与展示、群组置顶等能力,提供私有群、公开群、聊天室、音视频聊天室等多种群组类型,满足个性化群组需要。
  

资料管理

  支持设置用户资料、更改头像,可配置好友关系,提供好友验证选项,适配您的业务场景。
  

旗舰版和专业版功能对比

  即时通信 IM 套餐包分为体验版、专业版和旗舰版,创建应用后默认为体验版(免费),您可以根据实际业务需求选择不同的套餐包。
  

构架

  即时通信 IM 提供全球接入、单聊、群聊、消息推送、资料关系链托管、帐号鉴权等全方位解决方案,并提供完备的 App 接入、后台管理接口。
  

费用

  从2018年9月14日之后,注册sdkappid的客户都需要购买预付费吧,999,之前的不用,意味着,你想自己做Demo先出999吧,如下图:
  

使用腾讯IM准备

  产品简介: https://cloud.tencent.com/document/product/269/1498
  价格说明: https://cloud.tencent.com/document/product/269/11673
  应用场景: https://cloud.tencent.com/document/product/269/32579
  Demo 体验: https://cloud.tencent.com/document/product/269/36852
  接入SDK:https://cloud.tencent.com/document/product/269/37176

腾讯IM服务的SDKAppID和秘钥

  

腾讯开发文档

  https://cloud.tencent.com/document/product/269/37176
  下载SDK

IM SDK基本概念

会话

  会话(Conversation)分为两种:

  • 一种是 C2C 会话,表示单聊情况自己与对方建立的对话,读取消息和发送消息都是通过会话完成;
  • 一种是群会话,表示群聊情况下,群内成员组成的会话,群会话内发送消息群成员都可接收到。如下图所示,一个会话表示与一个好友的对话;
      

消息

  IM SDK 中消息(Message)表示要发送给对方的内容,消息包括若干属性,如是否自己已读,是否已经发送成功,发送人帐号,消息产生时间等;一条消息由若干Elem组合而成,每种Elem可以是文本、图片、表情等等,消息支持多种 Elem组合发送。
  

群组ID

  群组 ID 唯一标识一个群,由后台生成,创建群组时返回。

IM SDK使用说明

  
  

IM SDK接口

  文档地址:https://cloud.tencent.com/document/product/269/33543
  如果接口的参数字符串包含中文,请使用 UTF-8 编码。

事件回调接口

  

IM SDK 初始化相关接口

  

登录登出相关接口

  

会话相关接口

  

消息相关接口

  

群组相关接口

  

用户资料相关接口

  

关系链相关接口

  

模块化

  

Demo关键代码

tencentIMManager.pri

# ImSDK
INCLUDEPATH += $$PWD/ImSDK/includes
HEADERS += \$$PWD/ImSDK/includes/TIMCloud.h \$$PWD/ImSDK/includes/TIMCloudCallback.h \$$PWD/ImSDK/includes/TIMCloudComm.h \$$PWD/ImSDK/includes/TIMCloudDef.hLIBS += -L$$PWD/ImSDK/lib/Win32/Release \-limsdk

工程模板V1.0.0

  对应该模块的的V1.0.0

入坑

入坑一:登录鉴权的问题

问题

  登陆时,回调错误70003
  

原因

  每次登录,需要输入userId和UserSig,UserSig为依赖userId生成的,两者和二唯一被认为是唯一可靠的认证,才可以登录。

解决方法

  本地生成userSig,做大型聊天防止破解等提高安全性,则可以让后台向腾讯生成userSig,以保证可靠。
  
  将两文件,融入到代码中。

入坑二:编译权鉴获取时缺库“bcrypt”

问题

  

解决

  
  Qt的环境自带了,库文件添加进去

入坑三:编译鉴权获取时缺库“zlib”

问题

  

原因

  缺少zlib库,需要自己编译

解决

  笔者之前曾经编译过,直接赋值拿过来即可,读者编译请参照博文:《zlib开发笔记(一):zlib库介绍、编译和工程模板》
  添加头文件路径和库

入坑四:登陆时报错70003

问题

  

原因

  中文的userId。

解决

  只能使用英文数字id,不能使用中文。

入坑五:登陆时报错70003

问题

  

原因

  

解决

  使用std::string
  

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/119305601

Qt+腾讯IM开发笔记(一):腾讯IM介绍、使用和Qt集成腾讯IM-SDK的工程模板Demo相关推荐

  1. 树莓派开发笔记(十七):树莓派4B+上Qt多用户连接操作Mysql数据库同步(单条数据悲观锁)

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/125188715 红胖子(红模仿)的博文大全:开发技术集 ...

  2. 树莓派开发笔记(五):GPIO引脚介绍和GPIO的输入输出使用(驱动LED灯、检测按键)

    若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 原博主博客导航:https://blog.csdn.net/qq21497936/ ...

  3. ios html调起高德地图,iOS开发笔记 调起本地地图导航(百度、高德、腾讯、苹果自带)...

    地图 从自己的APP跳转到用户本地的APP进行导航.首先,要先查看用户都安装了哪些地图类APP. 下面分3种情况进行分析: 1.用户没有安装第三方的地图,只有苹果自带的地图应用. 2.用户安装一款第三 ...

  4. Qt Quick 5.2 开发笔记3-------qml界面之自定义TitleBar

    搞完了c++和QML的交互问题,接下去,终于可以放心开始做界面 先唱一首歌, 美工产品我们去哪里呀 有我在就天不怕地不怕 美工美工我是你的蓝图 一直陪你搞不清楚 产品产品我们去哪里呀 你就是我的天大和 ...

  5. libgdx游戏引擎开发笔记(一)引擎介绍和Helloworld

       做Android快一年了,项目也做了四五个,感觉没什么动力向前,思绪整理了一段时间,决定转入Android游戏开发,同时发现了一款强大的游戏引擎libgdx,在此边学边整理,好记性不如烂笔头嘛! ...

  6. 【搜索引擎Jediael开发笔记1】搜索引擎初步介绍及网络爬虫

    详细可参考 (1)书箱:<这就是搜索引擎><自己动手写网络爬虫><解密搜索引擎打桩实践> (2)[搜索引擎基础知识1]搜索引擎的技术架构 (3)[搜索引擎基础知识2 ...

  7. 安卓app开发零基础入门培训!腾讯Android开发面试记录,技术详细介绍

    开头 都说程序员是在吃青春饭,这一点的确有一点对的成分,以前我不这么认为,但随着年龄的增长,事实告诉我的确是这样的,过了30以后,就会发现身体各方面指标下降,体力和身心上都多少有点跟不上了,这个年龄往 ...

  8. ADS6445开发笔记(1)---- 芯片介绍

    写这篇博客的时候,暂未调试ADS6445,只是想资料整理一下,方便自己理解.查看.中间可能会有一些理解错误的地方,欢迎大家批评指正. 目录 1. 芯片特性 2.应用范围 3. 芯片简介 4. 芯片功能 ...

  9. qq腾讯社区开发平台 【QQ登录】.net java web版 移动手机版手机SDK下载

    http://wiki.opensns.qq.com/wiki/%E3%80%90QQ%E7%99%BB%E5%BD%95%E3%80%91SDK%E4%B8%8B%E8%BD%BD

最新文章

  1. 文件上传的实现(C#)
  2. MPEG简介 + 如何计算CBR 和VBR的MP3的播放时间
  3. Apache2 httpd.conf 配置详解(一)
  4. POI文件导入:代码实现-解析Excel构造用户列表
  5. 硬RAID可以为NVMe SSD数据可靠性保驾护航吗?
  6. dotnet中的counter
  7. python uuid
  8. struts2 拦截器_Struts2 execAndWait拦截器示例,用于长时间运行的动作
  9. 哪所985计算机专业招文科,4张表看透36所985大学自主招生专业
  10. linux 修改ftp默认端口号,在linux中添加ftp用户,以及修改FTP默认端口号
  11. 关于电源线 USB台灯3C认证相关介绍
  12. 假设检验、显著性水平α、P值、置信区间
  13. 黑马程序员JS学习第一天
  14. 双纤网速叠加+GS105E实现单线三用+AC86+68组网Aimesh实现无线漫游
  15. 百度AI Studio飞桨平台 “深度学习”结课总结
  16. 关于树叶的活动设计_大班游戏活动《有趣的叶子》教案
  17. 验证CUDA和CUDNN是否安装成功的方法
  18. antd Table组件增加一个自增序号
  19. 于东来:我赚大钱的秘诀在于分掉80%利润
  20. 为什么放大器上的输入电阻越大越好?输出电阻越小越好?

热门文章

  1. python浮点型和整数型转换_Python字符串、整数、和浮点型数相互转换实例
  2. Python 石头剪刀布,小游戏
  3. 使用OpenCV进行图片模糊处理(高斯滤波器)
  4. ubuntu 远程桌面/自动登录
  5. 关于秒杀系统设计的思考
  6. 安卓渗透神器dsploit笔记
  7. DBeaver安装与使用教程(超详细安装与使用教程)
  8. 云原生+大数据 全栈 解决方案!
  9. i9-13900k服务器水冷定制提供强力驱动全网首发
  10. C++学习 链表,数据结构,链表读取,打印,文件输入