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]);