sendCustomCmdMsg method
使用 UDP 通道向房间中的所有用户发送自定义消息
通过音频/视频数据通道,此 API 可用于将您的自定义数据广播给房间中的其他用户。由于此通道的重用,请严格控制发送自定义消息的频率和消息大小;否则,将影响音频/视频数据的质量控制逻辑,导致不确定的问题。
参数:
cmdID
消息 ID。取值范围:1
–10
。
data
要发送的消息,最多可包含 1 KB(1,000 字节)的数据
reliable
是否启用可靠发送;如果是,则接收方需要临时存储一定周期的数据以等待重新发送,这将导致一定的延迟
ordered
是否启用有序发送,即数据是否应按发送顺序接收;如果是,则接收方需要临时存储和排序消息,这将导致一定的延迟。
返回值:
true
:成功发送消息;false
:发送消息失败。
此 API 有以下限制:
-
每秒最多可以向房间中的所有用户发送 30 条消息(目前 web 和小程序不支持)。
-
每个数据包最多可包含 1 KB 的数据;如果超过阈值,数据包很可能被中间路由器或服务器丢弃。
-
每个客户端每秒最多可发送 8 KB 的数据。
-
reliable
和ordered
必须设置为相同的值(true
或false
),目前不能设置为不同的值。 -
我们强烈建议您为不同类型的消息使用不同的
cmdID
值。这样,在需要有序发送时可以减少消息延迟。
不支持:
- web
Implementation
Future<bool?> sendCustomCmdMsg(
int cmdID, String data, bool reliable, bool ordered) {
return _cloudChannel.invokeMethod('sendCustomCmdMsg', {
"cmdID": cmdID,
"data": data,
"reliable": reliable,
"ordered": ordered,
});
}