你可以在客户端和业务服务器发送、接收文本信息或二进制消息。通过调用接口,主动发送消息。消息发送成功后,目标客户端会接收到包含消息的回调,服务端会接收到来自 RTC 服务器的 HTTP
/HTTPS
POST
请求。
参考 跑通 RTS 快速开始 Demo 实现前置步骤。
客户端可以向业务服务器发送文本或二进制消息。可用于客户端向业务服务器同步状态、上报数据等场景。
setServerParams
设置业务服务器参数,包括业务服务器地址和签名。其中,签名将用于构建 HTTP
/HTTPS
POST
请求,该请求包含了消息内容。RTC 不会校验签名内容,因此,签名应按照业务服务器的要求生成。sendServerMessage
或 sendServerBinaryMessage
发送文本消息或二进制消息。客户端接口 | Android | iOS | Web |
---|---|---|---|
设置业务服务器参数 | setServerParams | setServerParams:url: | setServerParams |
客户端给业务服务器发送文本消息(P2Server) | sendServerMessage | sendServerMessage: | sendServerMessage |
客户端给业务服务器发送二进制消息(P2Server) | sendServerBinaryMessage | sendServerBinaryMessage: | sendServerBinaryMessage |
客户端通过上述接口成功发送消息后,业务服务器将通过来自 RTC 服务器的 HTTP
/HTTPS
POST
请求收到消息,示例如下:
{"message":"xxxx","binary":false,"signature":"00160af4c8dcb758d00ce35adb3EQD24BQDeruMYfoMjmEDAGh5ZiAARgps6T5ZgcTz9bw5DewuRkzxBmTgnGEk+ZBv3mW5n58="}
以上示例所含字段解释如下:
字段名 | 含义 | 类型 | 合法性 |
---|---|---|---|
message | 消息内容 | string | / |
binary | 是否二进制 | bool | 非空 |
signature | 签名是在客户端调用 setServerParams 时设置的。你可以使用发送用户的用户 ID 、 AppID 等信息生成签名,用于业务服务器校验。 | string | 非空 |
业务服务器可以向已登录或已进房的用户发送消息。可用于业务服务器向客户端同步状态、广播公告等场景。
业务服务器可以通过 SendRoomUnicast
或 BatchSendRoomUnicast
接口向 RTC 房间内指定用户发送文本或二进制消息,已进房的 RTC 用户可以通过以下回调接收消息。
注意
RTS SDK 不支持接收服务端发送的房间内点对点消息。
业务服务器可以通过 SendUnicast
接口向房间外指定用户发送文本或二进制消息,已登录用户可以通过以下回调接收消息。
客户端回调 | Android | iOS | Web |
---|---|---|---|
接收到业务服务器发送的点对点文本消息内容 | onMessageReceived | rtsEngine:onMessageReceived:message: | onMessageReceived |
接收到业务服务器发送的点对点二进制消息内容 | onBinaryMessageReceived | rtsEngine:onBinaryMessageReceived:message: | onBinaryMessageReceived |
业务服务器可以通过 SendBroadcast
接口向客户端发送房间内文本或二进制广播消息,已进房用户可以通过以下回调接收消息。
说明
用户通过 joinRoom
进入房间之后,才能收到房间内广播消息。
客户端回调 | Android | iOS | Web |
---|---|---|---|
接收到业务服务器发送的房间内文本广播消息内容 | onRoomMessageReceived | rtsRoom:onRoomMessageReceived:message: | onMessageReceived |
接收到业务服务器发送的房间内二进制广播消息内容 | onRoomBinaryMessageReceived | rtsRoom:onRoomBinaryMessageReceived:message: | onBinaryMessageReceived |