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

address → InternetAddress
read-only, inherited
The InternetAddress used to connect this socket. [...]
first → Future<RawSocketEvent>
read-only, inherited
The first element of this stream. [...]
hashCode → int
read-only, inherited
The hash code for this object. [...]
isBroadcast → bool
read-only, inherited
Whether this stream is a broadcast stream.
isEmpty → Future<bool>
read-only, inherited
Whether this stream contains any elements. [...]
last → Future<RawSocketEvent>
read-only, inherited
The last element of this stream. [...]
length → Future<int>
read-only, inherited
The number of elements in this stream. [...]
peerCertificate → X509Certificate?
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.
port → int
read-only, inherited
The port used by this socket. [...]
readEventsEnabled ↔ bool
read / write, inherited
Set or get, if the RawSocket should listen for RawSocketEvent.read events. Default is true.
remoteAddress → InternetAddress
read-only, inherited
The remote InternetAddress connected to by this socket. [...]
remotePort → int
read-only, inherited
The remote port connected to by this socket. [...]
runtimeType → Type
read-only, inherited
A representation of the runtime type of the object.
selectedProtocol → String?
read-only
The protocol which was selected during protocol negotiation. [...]
single → Future<RawSocketEvent>
read-only, inherited
The single element of this stream. [...]
writeEventsEnabled ↔ bool
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