A high-level class for communicating over a TCP socket.

The Socket exposes both a Stream and a IOSink interface, making it ideal for using together with other Streams.

Implements
Implemented by

Static Methods

connect(host, int port, {sourceAddress}) → 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.

Properties

address InternetAddress
read-only

Returns the InternetAddress used to connect this socket.

done Future
read-only, inherited

Get a future that will complete when the consumer closes, or when an error occurs. This future is identical to the future returned by close.

encoding Encoding
read / write, inherited

The Encoding used when writing strings. Depending on the underlying consumer this property might be mutable.

first Future<List<int>>
read-only, inherited

Returns the first element of the stream.

isBroadcast bool
read-only, inherited

Reports whether this stream is a broadcast stream.

isEmpty Future<bool>
read-only, inherited

Reports whether this stream contains any elements.

last Future<List<int>>
read-only, inherited

Returns the last element of the stream.

length Future<int>
read-only, inherited

Counts the elements in the stream.

port int
read-only

Returns the port used by this socket.

remoteAddress InternetAddress
read-only

Returns the remote InternetAddress connected to by this socket.

remotePort int
read-only

Returns the remote port connected to by this socket.

single Future<List<int>>
read-only, inherited

Returns the single element.

Constructors

Socket()

Methods

add(List<int> data) → void
inherited

Adds data to the target consumer, ignoring encoding.

addError(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 to this.

any(bool test(T element)) → Future<bool>
inherited

Checks whether test accepts any element provided by this stream.

asBroadcastStream({void onListen(StreamSubscription<T> subscription), void onCancel(StreamSubscription<T> subscription)}) → Stream<List<int>>
inherited

Returns a multi-subscription stream that produces the same events as this.

asyncExpand(Stream convert(T event)) → Stream
inherited

Creates a new stream with the events of a stream per original event.

asyncMap(dynamic convert(T event)) → Stream
inherited

Creates a new stream with each data event of this stream asynchronously mapped to a new event.

close() → Future
inherited

Close the target consumer.

contains(Object needle) → Future<bool>
inherited

Checks whether needle occurs in the elements provided by this stream.

destroy() → void

Destroy the socket in both directions. Calling destroy will make the send a close event on the stream and will no longer react on data being piped to it.

distinct([bool equals(T previous, T next)]) → Stream<List<int>>
inherited

Skips data events if they are equal to the previous data event.

drain([futureValue]) → Future
inherited

Discards all data on the stream, but signals when it's done or an error occured.

elementAt(int index) → Future<List<int>>
inherited

Returns the value of the indexth data event of this stream.

every(bool test(T element)) → Future<bool>
inherited

Checks whether test accepts all elements provided by this stream.

expand(Iterable convert(T value)) → Stream
inherited

Creates a new stream from this stream that converts each element into zero or more events.

firstWhere(bool test(T element), {Object defaultValue()}) → Future
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 to underlying StreamConsumer.

fold(initialValue, dynamic combine(previous, T element)) → Future
inherited

Reduces a sequence of values by repeatedly applying combine.

forEach(void action(T element)) → Future
inherited

Executes action on each data event of the stream.

handleError(Function onError, {bool test(error)}) → Stream<List<int>>
inherited

Creates a wrapper Stream that intercepts some errors from this stream.

join([String separator = ""]) → Future<String>
inherited

Collects string of data events' string representations.

lastWhere(bool test(T element), {Object defaultValue()}) → Future
inherited

Finds the last element in this stream matching test.

listen(void onData(T event), {Function onError, void onDone(), bool cancelOnError}) → StreamSubscription<List<int>>
inherited

Adds a subscription to this stream.

map(dynamic convert(T event)) → Stream
inherited

Creates a new stream that converts each element of this stream to a new value using the convert function.

pipe(StreamConsumer<List<int>> streamConsumer) → Future
inherited

Pipe the events of this stream into streamConsumer.

reduce(T combine(T previous, T element)) → Future<List<int>>
inherited

Reduces a sequence of values by repeatedly applying combine.

setOption(SocketOption option, bool enabled) → bool

Use setOption to customize the RawSocket. See SocketOption for available options.

singleWhere(bool test(T element)) → Future<List<int>>
inherited

Finds the single element in this stream matching test.

skip(int count) → Stream<List<int>>
inherited

Skips the first count data events from this stream.

skipWhile(bool test(T element)) → Stream<List<int>>
inherited

Skip data events from this stream while they are matched by test.

take(int count) → Stream<List<int>>
inherited

Provides at most the first n values of this stream.

takeWhile(bool test(T element)) → Stream<List<int>>
inherited

Forwards data events while test is successful.

timeout(Duration timeLimit, {void onTimeout(EventSink sink)}) → Stream
inherited

Creates a new stream with the same events as this stream.

toList() → Future<List<List<int>>>
inherited

Collects the data of this stream in a List.

toSet() → Future<Set<List<int>>>
inherited

Collects the data of this stream in a Set.

transform(StreamTransformer<List<int>> streamTransformer) → Stream
inherited

Chains this stream as the input of the provided StreamTransformer.

where(bool test(T event)) → Stream<List<int>>
inherited

Creates a new stream from this stream that discards some data events.

write(Object obj) → void
inherited

Converts obj 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 charCode to this.

writeln([Object obj = ""]) → void
inherited

Converts obj to a String by invoking Object.toString and writes the result to this, followed by a newline.