Socket class

A TCP connection between two sockets.

A socket connection connects a local socket to a remote socket. Data, as Uint8Lists, is received by the local socket, made available by the Stream interface of this class, and can be sent to the remote socket through the IOSink interface of this class.

Implemented types
Implementers

Constructors

Socket()

Properties

addressInternetAddress
read-only
The InternetAddress used to connect this socket. [...]
doneFuture
read-only, override
A future that will complete when the consumer closes, or when an error occurs. [...]
encodingEncoding
read / write, inherited
The Encoding used when writing strings. [...]
firstFuture<Uint8List>
read-only, inherited
The first element of this stream. [...]
hashCodeint
read-only, inherited
The hash code for this object. [...]
isBroadcastbool
read-only, inherited
Whether this stream is a broadcast stream.
isEmptyFuture<bool>
read-only, inherited
Whether this stream contains any elements. [...]
lastFuture<Uint8List>
read-only, inherited
The last element of this stream. [...]
lengthFuture<int>
read-only, inherited
The number of elements in this stream. [...]
portint
read-only
The port used by this socket. [...]
remoteAddressInternetAddress
read-only
The remote InternetAddress connected to by this socket. [...]
remotePortint
read-only
The remote port connected to by this socket. [...]
runtimeTypeType
read-only, inherited
A representation of the runtime type of the object.
singleFuture<Uint8List>
read-only, inherited
The single element of this stream. [...]

Methods

add(List<int> data) → void
inherited
Adds byte data to the target consumer, ignoring encoding. [...]
addError(Object error, [StackTrace? stackTrace]) → void
inherited
Passes the error to the target consumer as an error event. [...]
addStream(Stream<List<int>> stream) → Future
inherited
Adds all elements of the given stream. [...]
any(bool test(Uint8List element)) → Future<bool>
inherited
Checks whether test accepts any element provided by this stream. [...]
asBroadcastStream({void onListen(StreamSubscription<Uint8List> subscription), void onCancel(StreamSubscription<Uint8List> subscription)}) → Stream<Uint8List>
inherited
Returns a multi-subscription stream that produces the same events as this. [...]
asyncExpand<E>(Stream<E>? convert(Uint8List event)) → Stream<E>
inherited
Transforms each element into a sequence of asynchronous events. [...]
asyncMap<E>(FutureOr<E> convert(Uint8List event)) → Stream<E>
inherited
Creates a new stream with each data event of this stream asynchronously mapped to a new event. [...]
cast<R>() → Stream<R>
inherited
Adapt this stream to be a Stream<R>. [...]
close() → Future
override
Close the target consumer. [...]
contains(Object? needle) → Future<bool>
inherited
Returns whether needle occurs in the elements provided by this stream. [...]
destroy() → void
Destroys the socket in both directions. [...]
distinct([bool equals(Uint8List previous, Uint8List next)]) → Stream<Uint8List>
inherited
Skips data events if they are equal to the previous data event. [...]
drain<E>([E? futureValue]) → Future<E>
inherited
Discards all data on this stream, but signals when it is done or an error occurred. [...]
elementAt(int index) → Future<Uint8List>
inherited
Returns the value of the indexth data event of this stream. [...]
every(bool test(Uint8List element)) → Future<bool>
inherited
Checks whether test accepts all elements provided by this stream. [...]
expand<S>(Iterable<S> convert(Uint8List element)) → Stream<S>
inherited
Transforms each element of this stream into a sequence of elements. [...]
firstWhere(bool test(Uint8List element), {Uint8List orElse()}) → Future<Uint8List>
inherited
Finds the first element of this stream matching test. [...]
flush() → Future
inherited
Returns a Future that completes once all buffered data is accepted by the underlying StreamConsumer. [...]
fold<S>(S initialValue, S combine(S previous, Uint8List element)) → Future<S>
inherited
Combines a sequence of values by repeatedly applying combine. [...]
forEach(void action(Uint8List element)) → Future
inherited
Executes action on each element of this stream. [...]
getRawOption(RawSocketOption option) → Uint8List
Reads low level information about the RawSocket. [...]
handleError(Function onError, {bool test(dynamic error)}) → Stream<Uint8List>
inherited
Creates a wrapper Stream that intercepts some errors from this stream. [...]
join([String separator = ""]) → Future<String>
inherited
Combines the string representation of elements into a single string. [...]
lastWhere(bool test(Uint8List element), {Uint8List orElse()}) → Future<Uint8List>
inherited
Finds the last element in this stream matching test. [...]
listen(void onData(Uint8List event), {Function? onError, void onDone(), bool? cancelOnError}) → StreamSubscription<Uint8List>
inherited
Adds a subscription to this stream. [...]
map<S>(S convert(Uint8List event)) → Stream<S>
inherited
Transforms each element of this stream into a new stream event. [...]
noSuchMethod(Invocation invocation) → dynamic
inherited
Invoked when a non-existent method or property is accessed. [...]
pipe(StreamConsumer<Uint8List> streamConsumer) → Future
inherited
Pipes the events of this stream into streamConsumer. [...]
reduce(Uint8List combine(Uint8List previous, Uint8List element)) → Future<Uint8List>
inherited
Combines a sequence of values by repeatedly applying combine. [...]
setOption(SocketOption option, bool enabled) → bool
Customizes the RawSocket. [...]
setRawOption(RawSocketOption option) → void
Customizes the RawSocket. [...]
singleWhere(bool test(Uint8List element), {Uint8List orElse()}) → Future<Uint8List>
inherited
Finds the single element in this stream matching test. [...]
skip(int count) → Stream<Uint8List>
inherited
Skips the first count data events from this stream. [...]
skipWhile(bool test(Uint8List element)) → Stream<Uint8List>
inherited
Skip data events from this stream while they are matched by test. [...]
take(int count) → Stream<Uint8List>
inherited
Provides at most the first count data events of this stream. [...]
takeWhile(bool test(Uint8List element)) → Stream<Uint8List>
inherited
Forwards data events while test is successful. [...]
timeout(Duration timeLimit, {void onTimeout(EventSink<Uint8List> sink)}) → Stream<Uint8List>
inherited
Creates a new stream with the same events as this stream. [...]
toList() → Future<List<Uint8List>>
inherited
Collects all elements of this stream in a List. [...]
toSet() → Future<Set<Uint8List>>
inherited
Collects the data of this stream in a Set. [...]
toString() → String
inherited
A string representation of this object. [...]
transform<S>(StreamTransformer<Uint8List, S> streamTransformer) → Stream<S>
inherited
Applies streamTransformer to this stream. [...]
where(bool test(Uint8List event)) → Stream<Uint8List>
inherited
Creates a new stream from this stream that discards some elements. [...]
write(Object? object) → void
inherited
Converts object to a String by invoking Object.toString and adds the encoding of the result to the target consumer. [...]
writeAll(Iterable objects, [String separator = ""]) → void
inherited
Iterates over the given objects and writes them in sequence. [...]
writeCharCode(int charCode) → void
inherited
Writes the character of charCode. [...]
writeln([Object? object = ""]) → void
inherited
Converts object to a String by invoking Object.toString and writes the result to this, followed by a newline. [...]

Operators

operator ==(Object other) → bool
inherited
The equality operator. [...]

Static Methods

connect(dynamic host, int port, {dynamic sourceAddress, Duration? timeout}) → Future<Socket>
Creates a new socket connection to the host and port and returns a Future that will complete with either a Socket once connected or an error if the host-lookup or connection failed. [...]
startConnect(dynamic host, int port, {dynamic sourceAddress}) → Future<ConnectionTask<Socket>>
Like connect, but returns a Future that completes with a ConnectionTask that can be cancelled if the Socket is no longer needed.

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dart.dev/stable/2.13.0/dart-io/Socket-class.html