RawSecureSocket抽象 接口

RawSecureSocket 提供一个安全(SSL 或 TLS)网络连接。

通过调用 RawSecureSocket.connect 提供到服务器的客户端连接。使用 RawSecureServerSocket 创建的加密服务器也会返回代表安全连接服务器端的 RawSecureSocket 对象。通过在 SecurityContext 对象中设置的可信证书集来检查服务器提供的证书。默认的 SecurityContext 对象包含为知名证书机构内置的信任根证书集合。

有关更多信息,请参阅 RawSocket

实现类型

构造函数

RawSecureSocket()

属性

address InternetAddress
用于连接此套接字的 InternetAddress
无设置器继承
first Future<RawSocketEvent>
此流的第一个元素。
无设置器继承
hashCode int
此对象的哈希码。
无设置器继承
isBroadcast bool
此流是否为广播流。
无设置器继承
isEmpty Future<bool>
此流是否包含任何元素。
无设置器继承
last Future<RawSocketEvent>
此流的最后一个元素。
无设置器继承
length Future<int>
此流中的元素数量。
无设置器继承
peerCertificate X509Certificate?
获取连接的 RawSecureSocket 的对端证书。如果此 RawSecureSocket 是安全套接字连接的服务器端,peerCertificate 将返回客户端证书,如果没有收到客户端证书,则返回 null。如果是客户端端,peerCertificate 将返回服务器的证书。
无设置器
port int
此套接字使用的端口。
无设置器继承
readEventsEnabled bool
设置或获取,是否应该监听 RawSocketRawSocketEvent.read 事件。默认为 true
getter/setter 对继承
remoteAddress InternetAddress
由此套接字连接的远程 InternetAddress
无设置器继承
remotePort int
由该套接字连接的远程端口。
无设置器继承
runtimeType Type
表示该对象的运行时类型。
无设置器继承
selectedProtocol String?
在协议协商过程中选择的协议。
无设置器
single Future<RawSocketEvent>
该流的单个元素。
无设置器继承
writeEventsEnabled bool
设置或获取是否应该由 RawSocket 监听 RawSocketEvent.write 事件。默认是 true。这是一个一次性监听器,writeEventsEnabled 必须再次设置为 true 才能接收另一个写入事件。
getter/setter 对继承

方法

any(bool test(RawSocketEvent element)) Future<bool>
检查是否 test 接受该流提供的任何元素。
继承
asBroadcastStream({void onListen(StreamSubscription<RawSocketEvent> subscription)?, void onCancel(StreamSubscription<RawSocketEvent> subscription)?}) Stream<RawSocketEvent>
返回一个多订阅流,它产生与该相同的事件。
继承
asyncExpand<E>(Stream<E>? convert(RawSocketEvent event)) Stream<E>
将每个元素转换为异步事件的序列。
继承
asyncMap<E>(FutureOr<E> convert(RawSocketEvent event)) Stream<E>
创建一个新的流,将此流的每个数据事件异步映射到一个新事件。
继承
available() int
可以读取的套接字中接收到的未读字节数。
继承
cast<R>() Stream<R>
将此流调整为 Stream<R>
继承
close() Future<RawSocket>
关闭套接字。
继承
contains(Object? needle) Future<bool>
返回 needle 是否出现在此流提供的元素中。
继承
distinct([bool equals(RawSocketEvent previous, RawSocketEvent next)?]) Stream<RawSocketEvent>
如果数据事件与上一个数据事件相等,则跳过数据事件。
继承
drain<E>([E? futureValue]) Future<E>
丢弃此流上的所有数据,但信号其完成或有错误发生。
继承
elementAt(int index) Future<RawSocketEvent>
返回此流的第 index 个数据事件的值。
继承
every(bool test(RawSocketEvent element)) Future<bool>
检查 test 是否接受此流提供的所有元素。
继承
expand<S>(Iterable<S> convert(RawSocketEvent element)) Stream<S>
将此流的每个元素转换为一个元素序列。
继承
firstWhere(bool test(RawSocketEvent element), {RawSocketEvent orElse()?}) Future<RawSocketEvent>
查找此流中匹配 test 的第一个元素。
继承
fold<S>(S initialValue, S combine(S previous, RawSocketEvent element)) Future<S>
通过反复应用 combine 来组合一系列值。
继承
forEach(void action(RawSocketEvent element)) Future<void>
对此流的每个元素执行 action
继承
getRawOption(RawSocketOption option) Uint8List
读取关于 RawSocket 的底层信息。
继承
handleError(Function onError, {bool test(dynamic error)?}) Stream<RawSocketEvent>
创建一个包装流,拦截此流的一些错误。
继承
join([String separator = ""]) Future<String>
将元素的字面量表示组合成单个字符串。
继承
lastWhere(bool test(RawSocketEvent element), {RawSocketEvent orElse()?}) Future<RawSocketEvent>
查找此流中匹配 test 的最后一个元素。
继承
listen(void onData(RawSocketEvent event)?, {Function? onError, void onDone()?, bool? cancelOnError}) StreamSubscription<RawSocketEvent>
为此流添加订阅。
继承
map<S>(S convert(RawSocketEvent event)) Stream<S>
将此流的每个元素转换为新的流事件。
继承
noSuchMethod(Invocation invocation) → dynamic
当访问不存在的属性或方法时调用。
继承
pipe(StreamConsumer<RawSocketEvent> streamConsumer) Future
将此流的每个事件传递到streamConsumer中。
继承
read([int? len]) Uint8List?
从套接字中读取最多len个字节。
继承
readMessage([int? count]) SocketMessage?
从套接字中读取包含最多count个字节的报文。
继承
reduce(RawSocketEvent combine(RawSocketEvent previous, RawSocketEvent element)) Future<RawSocketEvent>
通过反复应用 combine 来组合一系列值。
继承
renegotiate({bool useSessionCache = true, bool requestClientCertificate = false, bool requireClientCertificate = false}) → void
无操作。
sendMessage(List<SocketControlMessage> controlMessages, List<int> data, [int offset = 0, int? count]) int
将socket控制消息和数据字节写入socket。
继承
setOption(SocketOption option, bool enabled) bool
自定义RawSocket
继承
setRawOption(RawSocketOption option) → void
自定义RawSocket
继承
shutdown(SocketDirection direction) → void
direction中关闭socket。
继承
singleWhere(bool test(RawSocketEvent element), {RawSocketEvent orElse()?}) Future<RawSocketEvent>
找到匹配test的单一元素。
继承
skip(int count) Stream<RawSocketEvent>
跳过从这个流中来的前count个数据事件。
继承
skipWhile(bool test(RawSocketEvent element)) Stream<RawSocketEvent>
在数据事件匹配 test 的条件下跳过来自此流的破坏性事件。
继承
take(int count) Stream<RawSocketEvent>
提供最多前 count 个此流的数据事件。
继承
takeWhile(bool test(RawSocketEvent element)) Stream<RawSocketEvent>
test 成功的情况下前向数据事件。
继承
timeout(Duration timeLimit, {void onTimeout(EventSink<RawSocketEvent> sink)?}) Stream<RawSocketEvent>
创建一个具有与此流相同事件的全新流。
继承
toList() Future<List<RawSocketEvent>>
收集此流的所有元素到一个 List
继承
toSet() Future<Set<RawSocketEvent>>
将此流的数据收集到一个 Set
继承
toString() String
此对象的字符串表示。
继承
transform<S>(StreamTransformer<RawSocketEvent, S> streamTransformer) Stream<S>
对此流应用 streamTransformer
继承
where(bool test(RawSocketEvent event)) Stream<RawSocketEvent>
从当前流中创建一个新的流,丢弃一些元素。
继承
write(List<int> buffer, [int offset = 0, int? count]) int
将从缓冲区偏移量 offset 开始的最多 count 个字节写入套接字。
继承

运算符

运算符 ==(Object other) bool
等价运算符。
继承

静态方法

connect(dynamic host, int port, {SecurityContext? context, bool onBadCertificate(X509Certificate certificate)?, void keyLog(String line)?, List<String>? supportedProtocols, Duration? timeout}) Future<RawSecureSocket>
创建一个新的安全客户端套接字并将其连接到指定的主机和端口。
覆盖
secure(RawSocket socket, {StreamSubscription<RawSocketEvent>? subscription, dynamic host, SecurityContext? context, bool onBadCertificate(X509Certificate certificate)?, void keyLog(String line)?, List<String>? supportedProtocols}) Future<RawSecureSocket>
在现有的连接上初始化TLS。
secureServer(RawSocket socket, SecurityContext? context, {StreamSubscription<RawSocketEvent>? subscription, List<int>? bufferedData, bool requestClientCertificate = false, bool requireClientCertificate = false, List<String>? supportedProtocols}) Future<RawSecureSocket>
在现有的服务器连接上初始化TLS。
startConnect(dynamic host, int port, {SecurityContext? context, bool onBadCertificate(X509Certificate certificate)?, void keyLog(String line)?, List<String>? supportedProtocols}) Future<ConnectionTask<RawSecureSocket>>
connect类似,但返回一个Future,该Future可以在不再需要RawSecureSocket时取消。
覆盖