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
。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< ) → Stream<E> convert(RawSocketEvent event)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
个字节写入套接字。继承
运算符
静态方法
-
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时取消。覆盖