Socket抽象 接口

两个套接字之间的TCP连接。

一个套接字连接将一个本地套接字连接到一个远程套接字。数据(作为Uint8List)通过本类的Stream接口接收,并由该接口提供,可以通过本类的IOSink接口发送到远程套接字。

通过IOSink接口发送数据的传输可能会延迟,除非使用SocketOption.tcpNoDelaySocket.setOption设置。

实现类型
实现者

属性

address InternetAddress
用于连接此套接字的InternetAddress
无setter
done Future
当消费者关闭或发生错误时将完成的future。
无setter覆盖
encoding Encoding
写入字符串时使用的Encoding
getter/setter对继承
first Future<Uint8List>
此流的第一个元素。
无setter继承
hashCode int
此对象的哈希码。
无setter继承
isBroadcast bool
此流是否为广播流。
无setter继承
isEmpty Future<bool>
此流是否包含任何元素。
无setter继承
last Future<Uint8List>
此流的最后一个元素。
无setter继承
length Future<int>
此流中的元素数量。
无setter继承
port int
此套接字使用的端口。
无setter
远程地址 InternetAddress
此套接字连接的远程 InternetAddress
无setter
远程端口 int
此套接字连接的远程端口。
无setter
runtimeType Type
对象的运行时类型表示。
无setter继承
single Future<Uint8List>
此流的单个元素。
无setter继承

方法

add(List<int> data) → void
将字节数据 data 添加到目标消费者,忽略 编码
继承
addError(Object error, [StackTrace? stackTrace]) → void
将错误作为错误事件传递给目标消费者。
继承
addStream(Stream<List<int>> stream) Future
添加给定 stream 的所有元素。
继承
any(bool test(Uint8List element)) Future<bool>
检查是否 test 接受此流提供的任何元素。
继承
asBroadcastStream({void onListen(StreamSubscription<Uint8List> subscription)?, void onCancel(StreamSubscription<Uint8List> subscription)?}) Stream<Uint8List>
返回一个多订阅流,它产生与该流相同的事件。
继承
asyncExpand<E>(Stream<E>? convert(Uint8List event)) Stream<E>
将每个元素转换成一系列异步事件。
继承
asyncMap<E>(FutureOr<E> convert(Uint8List event)) Stream<E>
创建一个新的流,将此流的每个数据事件异步映射到新的事件。
继承
cast<R>() Stream<R>
将此流适配为 Stream<R>
继承
close() Future
关闭目标消费者。
override
contains(Object? needle) Future<bool>
返回 needle 是否出现在此流提供的元素中。
继承
destroy() → void
在两个方向上销毁套接字。
distinct([bool equals(Uint8List previous, Uint8List next)?]) Stream<Uint8List>
如果数据事件与前一个数据事件相等,则跳过数据事件。
继承
drain<E>([E? futureValue]) Future<E>
丢弃此流上的所有数据,但在完成或发生错误时发出信号。
继承
elementAt(int index) Future<Uint8List>
返回此流的第 index 个数据事件的值。
继承
every(bool test(Uint8List element)) Future<bool>
检查 test 是否接受此流提供的所有元素。
继承
expand<S>(Iterable<S> convert(Uint8List element)) Stream<S>
将此流中的每个元素转换为一组元素。
继承
firstWhere(bool test(Uint8List element), {Uint8List orElse()?}) Future<Uint8List>
查找与test匹配的第一个元素。
继承
flush() Future
返回一个Future,一旦所有缓冲数据被底层的StreamConsumer接受,该Future就会完成。
继承
fold<S>(S initialValue, S combine(S previous, Uint8List element)) Future<S>
通过重复应用combine来组合一系列值。
继承
forEach(void action(Uint8List element)) Future<void>
对此流中的每个元素执行action
继承
getRawOption(RawSocketOption option) Uint8List
读取RawSocket的底层信息。
handleError(Function onError, {bool test(dynamic error)?}) Stream<Uint8List>
创建一个包装流,该流截取来自此流的一些错误。
继承
join([String separator = ""]) Future<String>
将元素的字面表示合并为一个单独的字符串。
继承
lastWhere(bool test(Uint8List element), {Uint8List orElse()?}) Future<Uint8List>
查找匹配 test 的最后一个元素。
继承
listen(void onData(Uint8List event)?, {Function? onError, void onDone()?, bool? cancelOnError}) StreamSubscription<Uint8List>
为此流添加一个订阅。
继承
map<S>(S convert(Uint8List event)) Stream<S>
将此流的每个元素转换成一个新的流事件。
继承
noSuchMethod(Invocation invocation) → dynamic
当访问不存在的方法或属性时调用。
继承
pipe(StreamConsumer<Uint8List> streamConsumer) Future
将此流的每个事件导入到 streamConsumer
继承
reduce(Uint8List combine(Uint8List previous, Uint8List element)) Future<Uint8List>
通过重复应用combine来组合一系列值。
继承
setOption(SocketOption option, bool enabled) bool
自定义RawSocket
setRawOption(RawSocketOption option) → void
自定义RawSocket
singleWhere(bool test(Uint8List element), {Uint8List orElse()?}) Future<Uint8List>
在此流中查找匹配test的单个元素。
继承
skip(int count) Stream<Uint8List>
跳过此流中的前count个数据事件。
继承
skipWhile(bool test(Uint8List element)) Stream<Uint8List>
在数据事件匹配test的情况下跳过这些数据事件。
继承
take(int count) Stream<Uint8List>
提供此流的前count个数据事件,最多。
继承
takeWhile(bool test(Uint8List element)) Stream<Uint8List>
test成功的情况下传递数据事件。
继承
timeout(Duration timeLimit, {void onTimeout(EventSink<Uint8List> sink)?}) Stream<Uint8List>
创建一个新的流,其事件与当前流相同。
继承
toList() Future<List<Uint8List>>
将此流的全部元素收集到一个List中。
继承
toSet() Future<Set<Uint8List>>
将此流的元素收集到一个Set中。
继承
toString() String
此对象的字符串表示形式。
继承
transform<S>(StreamTransformer<Uint8List, S> streamTransformer) Stream<S>
streamTransformer 应用到此流上。
继承
where(bool test(Uint8List event)) Stream<Uint8List>
从此流创建一个新的流,丢弃一些元素。
继承
write(Object? object) → void
通过调用 Object.toStringaddobject 转换为 String,并将结果的编码添加到目标消费者。
继承
writeAll(Iterable objects, [String separator = ""]) → void
遍历给定的 objects 并按顺序 write 它们。
继承
writeCharCode(int charCode) → void
写入charCode字符。
继承
writeln([Object? object = ""]) → void
通过调用Object.toStringobject转换为String,然后写入到this中,后面跟一个换行符。
继承

运算符

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

静态方法

connect(dynamic host, int port, {dynamic sourceAddress, int sourcePort = 0, Duration? timeout}) Future<Socket>
创建一个新的套接字连接到主机和端口,并返回一个Future,一旦连接成功,将返回一个Socket,如果主机查找或连接失败,将返回错误。
startConnect(dynamic host, int port, {dynamic sourceAddress, int sourcePort = 0}) Future<ConnectionTask<Socket>>
connect类似,但返回一个Future,当Socket不再需要时,可以取消ConnectionTask