在IM通讯中,通常需要管理自己的小伙伴,经常联系的,重要的用户需要标识在同一用户列表里,方便自己快速联系以及查看好友动态。那么如何可以做到类似QQ的好友列表功能呢,下面以一款在市面上功能强大的SDK为例做功能实现说明。

BRAChat SDK(—Chat音视频互动开发平台)是一套跨平台的(*)即时通讯解决方案,基于先进的H.264视频编码标准、AAC音频编码标准与P2P技术,支持高清视频,整合了佰锐科技在音视频编码、多媒体通讯领域领先的开发技术和丰富的产品经验而设计的高质量、宽适应性、分布式、模块化的网络音视频互动平台。

由于Chat Platform Core SDK只能在进入房间后,才能获取房间用户列表,而不能实现登录成功之后获取好友列表的功能,这项功能需要通过业务层扩展来实现,具体实现方法如下:
1、客户端登录成功后,会触发业务层服务器的回调函数:“OnUserLoginAction_CallBack”,业务服务器可以在该回调函数里面将该用户的好友信息(ID、昵称、在线状态)通过API接口“BRAS_SendBufToUser”发送给该用户,同时将该用户的上线信息发送给该用户的所有在线好友,即“当自己登录服务器成功后,服务器将好友信息发给我,同时将自己的信息发送给其它的好友”;

2、客户端收到服务器发送的好友信息后,便可显示好友列表及其在线状态;

3、其它客户端收到好友的上线、下线消息后,便可更新好友的在线状态;

4、当客户端程序关闭,或是网络掉线后,会触发业务层服务器的回调函数:“OnUserLogoutAction_CallBack”,业务服务器可以在该回调函数中向该客户端的所有好友发送“好友下线”的消息;

即时通讯技术 好友列表实现相关推荐

  1. Web端即时通讯技术盘点:短轮询、Comet、Websocket、SSE

    摘要 Web端即时通讯技术因受限于浏览器的设计限制,一直以来实现起来并不容易,主流的Web端即时通讯 方案大致有4种:传统Ajax短轮询.Comet技术.WebSocket技术.SSE(Server- ...

  2. 《飞鸽传书2007怎么用》这种即时通讯技术已开始普及

    实际上,随着手机智能化程度的不断加深,<飞鸽传书2007怎么用>这种即时通讯技术已开始普及.今年年初以来,从微信到飞鸽传书2007怎么用,每隔一段时间,便有一款新的即时通讯产品上市或即将上 ...

  3. 新手入门:史上最全Web端即时通讯技术原理详解

    前言 有关IM(InstantMessaging)聊天应用(如:微信,QQ).消息推送技术(如:现今移动端APP标配的消息推送模块)等即时通讯应用场景下,大多数都是桌面应用程序或者native应用较为 ...

  4. 【原创】轻量级移动端即时通讯技术 MobileIMSDK 发布了

    申明:MobileIMSDK目前为个人原创开源工程,投入了大量的时间和精力,希望对需要的人有所帮助.如需与作者交流,见文章底部个人签名处,互相学习.Q群:215891622,欢迎共同志趣者学习和交流. ...

  5. 二维码登录原理+Web端即时通讯技术

    前言 上周在写项目过程中遇到需要实现二维码的登录功能,将这个过程细节记录下来 二维码的登录过程,主要难点在于用户扫码了浏览器展示的二维码,但是浏览器本身是无法知道的,需要服务端告知信息. 涉及到 we ...

  6. mysql好友关系数据表设计_即时通讯数据库好友关系(一对多)应该怎样设计?...

    [MYSQL里面有如下的表  user:id username photo:id name photo_favour(图片收藏关系表):photo_id user_id假设这几个表都相当大,需要进行分 ...

  7. 环信即时通讯技术实践

    ** 环信即时聊天的页面实现 ** 最近研究了一下环信即时通讯技术,大致实现了页面的风格,好友之间的聊天,具体页面也贴出来,希望感兴趣的朋友批评指正

  8. WEB端即时通讯技术

    一:传统WEB通讯的原理 浏览器本身作为一个瘦客户端,不具备直接通过系统调用来达到和处于异地的另外一个客户端浏览器通信的功能.这和我们桌面应用的工作方式是不同的,通常桌面应用通过socket可以和远程 ...

  9. 新手入门贴:史上最全Web端即时通讯技术原理详解

    前言 有关IM(InstantMessaging)聊天应用(如:微信,QQ).消息推送技术(如:现今移动端APP标配的消息推送模块)等即时通讯应用场景下,大多数都是桌面应用程序或者native应用较为 ...

最新文章

  1. 分析460万份数据发现,女警比男警检查汽车几率少2倍,但发现违禁品还多10%
  2. c++ 编译器支持情况表
  3. linux fg 参数,Linux的bg和fg命令简单介绍
  4. Dockerfile常用指令
  5. 人工智能已经迫在眉睫_创意计算机已经迫在眉睫
  6. Linux ftp传送问题 WARNING! 258831 bare linefeeds received in ASCII mode
  7. 过了这么多年,才发现写的最多的代码竟然是...
  8. html 无序列表编程一排_HTML 入门笔记
  9. 安卓驱动开发(五)----搭建开发板的测试环境
  10. 20190823 尚硅谷MySQL核心技术
  11. StretchDIBits函数显示图片
  12. 计算机开机没有d盘,电脑每次开机总是自检D盘的解决办法
  13. 如何在Swift中实现状态机?
  14. 机器学习笔记 - YOLOv7 论文简述与推理
  15. 算法-数塔问题-c语言
  16. TensorFlow Object Detection API Custom Object Hangs On
  17. 雷军一往无前的十年(小米十周年公开演讲)附赠《一往无前》电子书籍
  18. 2020-01-01T00:00:00.000000Z 日期格式转换
  19. 分布式是大数据处理的万能药?
  20. signed和unsigned的比较

热门文章

  1. 联想高管解读OLED、mini LED显示器优缺点
  2. 一篇文章全面了解运维监控知识体系
  3. Ubuntu网页端播放音乐失败
  4. 产品设计2.1五要素-①战略层
  5. 如何在中国招聘一个财务总监
  6. HTML+CSS大话西游动画、过渡作业
  7. 拍一拍:“你拍一,我拍一”,共创沙雕小气息
  8. csdn写博客,在MarkDown下复制IDE编辑器中的代码,导致csdn笔记排版变乱
  9. 告别百度网盘,全速下载macOS系统官方镜像 - dmg - app
  10. Redmibook pro 15 开机报错No bootable device