基本概念

本文以下内容为使用实时数据传输服务过程中会涉及到的一些基本概念,您可以快速浏览查看相关概念及关联内容。

RTM

RTM( Real-Time Messaging ),实时数据传输,是云上曲率实时数据传输服务的简称。

用户

使用业务客户端的人员,例如游戏玩家、直播主播、直播观众等。

业务客户端

指集成了RTM Client SDK的业务客户端,也可代指用户终端。

业务服务端

指集成了RTM Server SDK的业务服务端。


消息

消息是指通过RTM发送的业务数据的统称。

消息类型

开发者可根据业务需求定义发送数据的类型,通过参数 “mtype” 来区分,自定义的消息类型的取值范围为 51-127。消息数据结构

小于 51 的消息类型为RTM系统内部保留。

消息内容

消息中的数据内容,消息内容支持文本字符串和二进制数据格式。

消息回调

当 业务服务端 需要处理 业务客户端 发出的消息时,可以通过实时回调的方法,将消息从RTM转发给业务服务器。

历史消息

业务客户端 发送/接收的过往消息记录。可以通过历史消息接口获取历史消息。

未读消息

客户端离线/登出时收到的消息。可以通过未读消息数接口获取未读消息数。


会话

消息在业务客户端之间 或 业务客户端和业务服务端之间产生,即形成会话,包括 P2P会话、群组会话、房间会话。

P2P

P2P( Point to Point ),是RTM提供的一种消息收发模式,点对点模式即只有一个消息发送者和一个消息接收者。

群组

群组( Group ),是RTM提供的一种消息收发模式,用户可以给群组内的多人发送消息,有多个消息发送者和多个消息接受者。

房间

房间( Room ),是RTM提供的一种消息收发模式,用户可以给房间内的多人发送消息,有多个消息发送者和多个消息接受者。

群组和房间都可以作为 群聊 使用。
群组中如果用户不主动退出,则用户永久存在于房间中;房间中如果用户掉线的话,则用户会主动从房间中退出。
群组和房间的详细区别参见下表。

功能 群组 房间
离线消息 支持离线消息存储 默认存储7天 不支持离线消息
只支持当前房间在线用户可接收消息
人数限制 群组默认人数10000人
可以申请配置人数上限
房间默认人数10000人
可以申请配置人数上限
消息提醒 当用户处于离线状态时推送离线群组消息 离线后不再接收房间消息
消息存储 服务端单个群组保存消息数量500条 服务端单个房间保存消息数量500条
历史消息 支持服务端消息存储,默认存储时长7天 支持服务端消息存储,默认存储时长7天
历史消息接口调用频率 10次/s 10次/s
用户加入限制 用户可以加入多个群组 需要开启支持多房间功能
用户默认加入房间上限10个
可以申请配置加入房间上限
消息获取 加入群组后可以通过筛选时间查看群组之前的消息 加入房间后可以通过筛选时间查看房间之前的消息
退出 用户通过客户端接口退出群组 用户通过客户端接口退出房间
或者用户离线1分钟后,自动退出房间
销毁 用户通过客户端接口解散群组 当所有用户退出房间后,RTM服务端销毁
用户再次进入时,房间重新创建
接口调用 允许客户端和服务端调用群组类接口
群组销毁仅允许服务端SDK操作
允许客户端和服务端调用房间类接口
广播

广播( Broadcast ),是RTM提供的一种消息收发模式,通过服务端向项目内所有客户端发送消息。

P2P消息

P2P消息( P2PMessage ),是RTM定义的一种消息类型,用于点对点的收发消息。

P2P消息发送时,发送者发送消息时已经指定接收者,且只有指定的接收者可以接收。接收者无需做任何操作即可获取该消息,除非设定了好友关系限制。

聊天

聊天( chat ),是RTM定义的一种特殊的消息类型,用于即时通讯( IM )场景中。仅支持发送文本类型数据。

群组消息

群组消息( GroupMessage ),是RTM定义的一种消息类型,用于群组内的收发消息。

房间消息

房间消息( RoomMessage ),是RTM定义的一种消息类型,用于房间内的收发消息。

广播消息

广播消息( BroadcastMessage ),是RTM定义的一种消息类型,用于项目范围的收发消息。


项目

云上曲率以项目的方式来管理不同的业务。您可以在控制台给不同的业务分别创建不同的项目,从而实现业务数据的隔离。 目前每个账号最多可以创建100个项目,如果有需求可以进行项目创建上限申请。

Pid

云上曲率通过Pid来区分项目。在使用控制台创建项目时,Pid自动生成。Pid是项目的唯一标识,且不会重复。

Uid

Uid,用户标识,用于在项目中标识一个用户。Uid是用户的唯一标识,且不会重复。

GroupId

GroupId,群组ID,用于在项目中唯一标识一个群组。GroupId是群组的唯一标识,且不会重复。

RoomId

RoomId,房间ID,用于在项目中唯一标识一个房间。RoomId是房间的唯一标识,且不会重复。