sendCustomCmdMsg method

Future<bool?> sendCustomCmdMsg(
  1. int cmdID,
  2. String data,
  3. bool reliable,
  4. bool ordered
)

使用 UDP 通道向房间中的所有用户发送自定义消息

通过音频/视频数据通道,此 API 可用于将您的自定义数据广播给房间中的其他用户。由于此通道的重用,请严格控制发送自定义消息的频率和消息大小;否则,将影响音频/视频数据的质量控制逻辑,导致不确定的问题。

参数:

cmdID 消息 ID。取值范围:110

data 要发送的消息,最多可包含 1 KB(1,000 字节)的数据

reliable 是否启用可靠发送;如果是,则接收方需要临时存储一定周期的数据以等待重新发送,这将导致一定的延迟

ordered 是否启用有序发送,即数据是否应按发送顺序接收;如果是,则接收方需要临时存储和排序消息,这将导致一定的延迟。

返回值:

true:成功发送消息;false:发送消息失败。

此 API 有以下限制:

  • 每秒最多可以向房间中的所有用户发送 30 条消息(目前 web 和小程序不支持)。

  • 每个数据包最多可包含 1 KB 的数据;如果超过阈值,数据包很可能被中间路由器或服务器丢弃。

  • 每个客户端每秒最多可发送 8 KB 的数据。

  • reliableordered 必须设置为相同的值(truefalse),目前不能设置为不同的值。

  • 我们强烈建议您为不同类型的消息使用不同的 cmdID 值。这样,在需要有序发送时可以减少消息延迟。

不支持:

  • web

Implementation

Future<bool?> sendCustomCmdMsg(
    int cmdID, String data, bool reliable, bool ordered) {
  return _channel.invokeMethod('sendCustomCmdMsg', {
    "cmdID": cmdID,
    "data": data,
    "reliable": reliable,
    "ordered": ordered,
  });
}