RawSecureSocket抽象 接口

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

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

有关更多信息,请参阅RawSocket

实现类型

属性

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
设置或获取,是否应让RawSocket监听RawSocketEvent.read事件。默认为true
获取器/设置器对继承
remoteAddress InternetAddress
该套接字连接到的远程 InternetAddress
无设置器继承
remotePort int
该套接字连接到的远程端口。
无设置器继承
runtimeType Type
对象运行时类型的表示。
无设置器继承
selectedProtocol String?
在协议协商期间选择的协议。
无设置器
single Future<RawSocketEvent>
此流的单个元素。
无设置器继承
writeEventsEnabled bool
设置或获取,是否使 RawSocket 监听 RawSocketEvent.write 事件。默认为 true。这是一个一次性监听器,writeEventsEnabled 必须再次设置为 true 以接收另一个写入事件。
获取器/设置器对继承

方法

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
将套接字控制消息和数据字节写入套接字。
继承
setOption(SocketOption option, bool enabled) bool
自定义 RawSocket
继承
setRawOption(RawSocketOption option) → void
自定义 RawSocket
继承
shutdown(SocketDirection direction) → void
direction 中关闭套接字。
继承
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 字节到套接字。
继承

运算符

operator ==(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>
构造一个新的安全客户端套接字并将其连接到指定的主机和端口。
override
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时可以取消。
override