两个套接字之间的TCP连接。
套接字连接将本地套接字连接到远程套接字。数据,以Uint8List形式,由本地套接字接收,通过该类的Stream接口提供,可以通过该类的IOSink接口发送到远程套接字。
通过IOSink接口发送的数据传输可能会延迟,除非设置SocketOption.tcpNoDelay和Socket.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< stream) → Futureint> > - 添加给定
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< ) → Stream<Uint8List, S> streamTransformerS> - 将
streamTransformer
应用到此流上。继承 -
where(
bool test(Uint8List event)) → Stream< Uint8List> - 从当前流创建一个新的流,该流将丢弃一些元素。继承
-
write(
Object? object) → void - 通过调用 Object.toString 和 add 将结果编码添加到目标消费者。继承
-
writeAll(
Iterable objects, [String separator = ""]) → void - 遍历给定的
objects
并按顺序将它们写入。继承 -
writeCharCode(
int charCode) → void - 写入
charCode
的字符。继承 -
writeln(
[Object? object = ""]) → void - 通过调用 Object.toString 将
object
转换为 String,并将结果写入到this
,随后添加一个换行符。继承
操作符
静态方法
-
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
,则可以取消该任务。