Socket抽象 接口

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

套接字连接本地套接字连接到远程套接字。数据,以Uint8List形式,由本地套接字接收,通过该类的Stream接口提供,可以通过该类的IOSink接口发送到远程套接字。

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

实现类型
实现者

构造函数

Socket()

属性

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

方法

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
关闭目标消费者。
覆盖
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 接受即完成。
继承
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
自定义原始套接字
setRawOption(RawSocketOption option) → void
自定义原始套接字
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>>
收集此流的所有元素到一个 列表 中。
继承
toSet() Future<Set<Uint8List>>
将此流的 数据收集到一个 集合 中。
继承
toString() String
该对象的字符串表示形式。
继承
transform<S>(StreamTransformer<Uint8List, S> streamTransformer) Stream<S>
streamTransformer 应用到此流上。
继承
where(bool test(Uint8List event)) Stream<Uint8List>
从当前流创建一个新的流,该流将丢弃一些元素。
继承
write(Object? object) → void
通过调用 Object.toStringadd 将结果编码添加到目标消费者。
继承
writeAll(Iterable objects, [String separator = ""]) → void
遍历给定的 objects 并按顺序将它们写入。
继承
writeCharCode(int charCode) → void
写入 charCode 的字符。
继承
writeln([Object? object = ""]) → void
通过调用 Object.toStringobject 转换为 String,并将结果写入到 this,随后添加一个换行符。
继承

操作符

操作符 ==(Object other) bool
等式运算符。
继承

静态方法

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