RawSecureSocket class

RawSecureSocket provides a secure (SSL or TLS) network connection.

Client connections to a server are provided by calling RawSecureSocket.connect. A secure server, created with RawSecureServerSocket, also returns RawSecureSocket objects representing the server end of a secure connection. The certificate provided by the server is checked using the trusted certificates set in the SecurityContext object. The default SecurityContext object contains a built-in set of trusted root certificates for well-known certificate authorities.

Implemented types

Constructors

RawSecureSocket()

Properties

addressInternetAddress
read-only, inherited
The InternetAddress used to connect this socket. [...]
firstFuture<RawSocketEvent>
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<RawSocketEvent>
read-only, inherited
The last element of this stream. [...]
lengthFuture<int>
read-only, inherited
The number of elements in this stream. [...]
peerCertificateX509Certificate?
read-only
Get the peer certificate for a connected RawSecureSocket. If this RawSecureSocket is the server end of a secure socket connection, peerCertificate will return the client certificate, or null, if no client certificate was received. If it is the client end, peerCertificate will return the server's certificate.
portint
read-only, inherited
The port used by this socket. [...]
readEventsEnabledbool
read / write, inherited
Set or get, if the RawSocket should listen for RawSocketEvent.read events. Default is true.
remoteAddressInternetAddress
read-only, inherited
The remote InternetAddress connected to by this socket. [...]
remotePortint
read-only, inherited
The remote port connected to by this socket. [...]
runtimeTypeType
read-only, inherited
A representation of the runtime type of the object.
selectedProtocolString?
read-only
The protocol which was selected during protocol negotiation. [...]
singleFuture<RawSocketEvent>
read-only, inherited
The single element of this stream. [...]
writeEventsEnabledbool
read / write, inherited
Set or get, if the RawSocket should listen for RawSocketEvent.write events. Default is true. This is a one-shot listener, and writeEventsEnabled must be set to true again to receive another write event.

Methods

any(bool test(RawSocketEvent element)) → Future<bool>
inherited
Checks whether test accepts any element provided by this stream. [...]
asBroadcastStream({void onListen(StreamSubscription<RawSocketEvent> subscription), void onCancel(StreamSubscription<RawSocketEvent> subscription)}) → Stream<RawSocketEvent>
inherited
Returns a multi-subscription stream that produces the same events as this. [...]
asyncExpand<E>(Stream<E>? convert(RawSocketEvent event)) → Stream<E>
inherited
Transforms each element into a sequence of asynchronous events. [...]
asyncMap<E>(FutureOr<E> convert(RawSocketEvent event)) → Stream<E>
inherited
Creates a new stream with each data event of this stream asynchronously mapped to a new event. [...]
available() → int
inherited
The number of received and non-read bytes in the socket that can be read.
cast<R>() → Stream<R>
inherited
Adapt this stream to be a Stream<R>. [...]
close() → Future<RawSocket>
inherited
Closes the socket. [...]
contains(Object? needle) → Future<bool>
inherited
Returns whether needle occurs in the elements provided by this stream. [...]
distinct([bool equals(RawSocketEvent previous, RawSocketEvent next)]) → Stream<RawSocketEvent>
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<RawSocketEvent>
inherited
Returns the value of the indexth data event of this stream. [...]
every(bool test(RawSocketEvent element)) → Future<bool>
inherited
Checks whether test accepts all elements provided by this stream. [...]
expand<S>(Iterable<S> convert(RawSocketEvent element)) → Stream<S>
inherited
Transforms each element of this stream into a sequence of elements. [...]
firstWhere(bool test(RawSocketEvent element), {RawSocketEvent orElse()}) → Future<RawSocketEvent>
inherited
Finds the first element of this stream matching test. [...]
fold<S>(S initialValue, S combine(S previous, RawSocketEvent element)) → Future<S>
inherited
Combines a sequence of values by repeatedly applying combine. [...]
forEach(void action(RawSocketEvent element)) → Future
inherited
Executes action on each element of this stream. [...]
getRawOption(RawSocketOption option) → Uint8List
@Since("2.2"), inherited
Reads low level information about the RawSocket. [...]
handleError(Function onError, {bool test(dynamic error)}) → Stream<RawSocketEvent>
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(RawSocketEvent element), {RawSocketEvent orElse()}) → Future<RawSocketEvent>
inherited
Finds the last element in this stream matching test. [...]
listen(void onData(RawSocketEvent event), {Function? onError, void onDone(), bool? cancelOnError}) → StreamSubscription<RawSocketEvent>
inherited
Adds a subscription to this stream. [...]
map<S>(S convert(RawSocketEvent 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<RawSocketEvent> streamConsumer) → Future
inherited
Pipes the events of this stream into streamConsumer. [...]
read([int? len]) → Uint8List?
inherited
Read up to len bytes from the socket. [...]
reduce(RawSocketEvent combine(RawSocketEvent previous, RawSocketEvent element)) → Future<RawSocketEvent>
inherited
Combines a sequence of values by repeatedly applying combine. [...]
renegotiate({bool useSessionCache = true, bool requestClientCertificate = false, bool requireClientCertificate = false}) → void
Renegotiate an existing secure connection, renewing the session keys and possibly changing the connection properties. [...]
setOption(SocketOption option, bool enabled) → bool
inherited
Customize the RawSocket. [...]
setRawOption(RawSocketOption option) → void
@Since("2.2"), inherited
Customizes the RawSocket. [...]
shutdown(SocketDirection direction) → void
inherited
Shuts down the socket in the direction. [...]
singleWhere(bool test(RawSocketEvent element), {RawSocketEvent orElse()}) → Future<RawSocketEvent>
inherited
Finds the single element in this stream matching test. [...]
skip(int count) → Stream<RawSocketEvent>
inherited
Skips the first count data events from this stream. [...]
skipWhile(bool test(RawSocketEvent element)) → Stream<RawSocketEvent>
inherited
Skip data events from this stream while they are matched by test. [...]
take(int count) → Stream<RawSocketEvent>
inherited
Provides at most the first count data events of this stream. [...]
takeWhile(bool test(RawSocketEvent element)) → Stream<RawSocketEvent>
inherited
Forwards data events while test is successful. [...]
timeout(Duration timeLimit, {void onTimeout(EventSink<RawSocketEvent> sink)}) → Stream<RawSocketEvent>
inherited
Creates a new stream with the same events as this stream. [...]
toList() → Future<List<RawSocketEvent>>
inherited
Collects all elements of this stream in a List. [...]
toSet() → Future<Set<RawSocketEvent>>
inherited
Collects the data of this stream in a Set. [...]
toString() → String
inherited
A string representation of this object. [...]
transform<S>(StreamTransformer<RawSocketEvent, S> streamTransformer) → Stream<S>
inherited
Applies streamTransformer to this stream. [...]
where(bool test(RawSocketEvent event)) → Stream<RawSocketEvent>
inherited
Creates a new stream from this stream that discards some elements. [...]
write(List<int> buffer, [int offset = 0, int? count]) → int
inherited
Writes up to count bytes of the buffer from offset buffer offset to the socket. [...]

Operators

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

Static Methods

connect(dynamic host, int port, {SecurityContext? context, bool onBadCertificate(X509Certificate certificate), List<String>? supportedProtocols, Duration? timeout}) → Future<RawSecureSocket>
override
Constructs a new secure client socket and connect it to the given host on the given port. [...]
secure(RawSocket socket, {StreamSubscription<RawSocketEvent>? subscription, dynamic host, SecurityContext? context, bool onBadCertificate(X509Certificate certificate), List<String>? supportedProtocols}) → Future<RawSecureSocket>
Initiates TLS on an existing connection. [...]
secureServer(RawSocket socket, SecurityContext? context, {StreamSubscription<RawSocketEvent>? subscription, List<int>? bufferedData, bool requestClientCertificate = false, bool requireClientCertificate = false, List<String>? supportedProtocols}) → Future<RawSecureSocket>
Initiates TLS on an existing server connection. [...]
startConnect(dynamic host, int port, {SecurityContext? context, bool onBadCertificate(X509Certificate certificate), List<String>? supportedProtocols}) → Future<ConnectionTask<RawSecureSocket>>
override
Like connect, but returns a Future that completes with a ConnectionTask that can be cancelled if the RawSecureSocket 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/RawSecureSocket-class.html