如何实现IM中的好友列表

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

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

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

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

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


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

你可能感兴趣的:(IM,即时通讯,音视频解决方案,好友列表,实时通讯)