sendMessage抽象方法

  1. @Since("2.15")
int sendMessage(
  1. List<SocketControlMessage> controlMessages,
  2. List<int> data, [
  3. int offset = 0,
  4. int? count,
])

将套接字控制消息和数据字节写入套接字。

controlMessages和最多count字节的数据(从offset开始)写入套接字。如果没有提供count,则尽可能写入更多字节。如果不需要发送控制消息,请使用write

当接收到控制消息时,它们将保留到下一次调用readMessage,此时所有当前可用的控制消息都将作为返回的SocketMessage的一部分提供。调用read将只读取数据字节,并且不会影响控制消息。

count必须是正数(大于零)。

返回写入的字节数,该数字不能大于count,也不能大于data.length - offset。返回值为零表示没有发送控制消息。

此函数是非阻塞的,并且只有在套接字中有缓冲空间时才会写入数据。

如果消息无法发送,则抛出OSError

不支持RawSecureSocket

不支持Android、Fuchsia、Windows。

实现

@Since("2.15")
int sendMessage(List<SocketControlMessage> controlMessages, List<int> data,
    [int offset = 0, int? count]);