sendMessage 抽象方法
- @Since("2.15")
将套接字控制消息和数据字节写入套接字。
将 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]);