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
Properties
- address → InternetAddress
-
The InternetAddress used to connect this socket.
read-onlyinherited
-
first
→ Future<
RawSocketEvent> -
The first element of this stream.
read-onlyinherited
- hashCode → int
-
The hash code for this object.
read-onlyinherited
- isBroadcast → bool
-
Whether this stream is a broadcast stream.
read-onlyinherited
-
isEmpty
→ Future<
bool> -
Whether this stream contains any elements.
read-onlyinherited
-
last
→ Future<
RawSocketEvent> -
The last element of this stream.
read-onlyinherited
-
length
→ Future<
int> -
The number of elements in this stream.
read-onlyinherited
- peerCertificate → X509Certificate?
-
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.
read-only
- port → int
-
The port used by this socket.
read-onlyinherited
- readEventsEnabled ↔ bool
-
Set or get, if the RawSocket should listen for RawSocketEvent.read
events. Default is
true
.read / writeinherited - remoteAddress → InternetAddress
-
The remote InternetAddress connected to by this socket.
read-onlyinherited
- remotePort → int
-
The remote port connected to by this socket.
read-onlyinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-onlyinherited
- selectedProtocol → String?
-
The protocol which was selected during protocol negotiation.
read-only
-
single
→ Future<
RawSocketEvent> -
The single element of this stream.
read-onlyinherited
- writeEventsEnabled ↔ bool
-
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.read / writeinherited
Methods
-
any(
bool test(RawSocketEvent element)) → Future< bool> -
Checks whether
test
accepts any element provided by this stream.inherited -
asBroadcastStream(
{void onListen(StreamSubscription< RawSocketEvent> subscription)?, void onCancel(StreamSubscription<RawSocketEvent> subscription)?}) → Stream<RawSocketEvent> -
Returns a multi-subscription stream that produces the same events as this.
inherited
-
asyncExpand<
E> (Stream< E> ? convert(RawSocketEvent event)) → Stream<E> -
Transforms each element into a sequence of asynchronous events.
inherited
-
asyncMap<
E> (FutureOr< E> convert(RawSocketEvent event)) → Stream<E> -
Creates a new stream with each data event of this stream asynchronously
mapped to a new event.
inherited
-
available(
) → int -
The number of received and non-read bytes in the socket that can be read.
inherited
-
cast<
R> () → Stream< R> -
Adapt this stream to be a
Stream<R>
.inherited -
close(
) → Future< RawSocket> -
Closes the socket.
inherited
-
contains(
Object? needle) → Future< bool> -
Returns whether
needle
occurs in the elements provided by this stream.inherited -
distinct(
[bool equals(RawSocketEvent previous, RawSocketEvent next)?]) → Stream< RawSocketEvent> -
Skips data events if they are equal to the previous data event.
inherited
-
drain<
E> ([E? futureValue]) → Future< E> -
Discards all data on this stream, but signals when it is done or an error
occurred.
inherited
-
elementAt(
int index) → Future< RawSocketEvent> -
Returns the value of the
index
th data event of this stream.inherited -
every(
bool test(RawSocketEvent element)) → Future< bool> -
Checks whether
test
accepts all elements provided by this stream.inherited -
expand<
S> (Iterable< S> convert(RawSocketEvent element)) → Stream<S> -
Transforms each element of this stream into a sequence of elements.
inherited
-
firstWhere(
bool test(RawSocketEvent element), {RawSocketEvent orElse()?}) → Future< RawSocketEvent> -
Finds the first element of this stream matching
test
.inherited -
fold<
S> (S initialValue, S combine(S previous, RawSocketEvent element)) → Future< S> -
Combines a sequence of values by repeatedly applying
combine
.inherited -
forEach(
void action(RawSocketEvent element)) → Future< void> -
Executes
action
on each element of this stream.inherited -
getRawOption(
RawSocketOption option) → Uint8List -
Reads low level information about the RawSocket.
inherited
-
handleError(
Function onError, {bool test(dynamic error)?}) → Stream< RawSocketEvent> -
Creates a wrapper Stream that intercepts some errors from this stream.
inherited
-
join(
[String separator = ""]) → Future< String> -
Combines the string representation of elements into a single string.
inherited
-
lastWhere(
bool test(RawSocketEvent element), {RawSocketEvent orElse()?}) → Future< RawSocketEvent> -
Finds the last element in this stream matching
test
.inherited -
listen(
void onData(RawSocketEvent event)?, {Function? onError, void onDone()?, bool? cancelOnError}) → StreamSubscription< RawSocketEvent> -
Adds a subscription to this stream.
inherited
-
map<
S> (S convert(RawSocketEvent event)) → Stream< S> -
Transforms each element of this stream into a new stream event.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
pipe(
StreamConsumer< RawSocketEvent> streamConsumer) → Future -
Pipes the events of this stream into
streamConsumer
.inherited -
read(
[int? len]) → Uint8List? -
Read up to
len
bytes from the socket.inherited -
readMessage(
[int? count]) → SocketMessage? -
Reads a message containing up to
count
bytes from the socket.inherited -
reduce(
RawSocketEvent combine(RawSocketEvent previous, RawSocketEvent element)) → Future< RawSocketEvent> -
Combines a sequence of values by repeatedly applying
combine
.inherited -
renegotiate(
{bool useSessionCache = true, bool requestClientCertificate = false, bool requireClientCertificate = false}) → void - Does nothing.
-
sendMessage(
List< SocketControlMessage> controlMessages, List<int> data, [int offset = 0, int? count]) → int -
Writes socket control messages and data bytes to the socket.
inherited
-
setOption(
SocketOption option, bool enabled) → bool -
Customize the RawSocket.
inherited
-
setRawOption(
RawSocketOption option) → void -
Customizes the RawSocket.
inherited
-
shutdown(
SocketDirection direction) → void -
Shuts down the socket in the
direction
.inherited -
singleWhere(
bool test(RawSocketEvent element), {RawSocketEvent orElse()?}) → Future< RawSocketEvent> -
Finds the single element in this stream matching
test
.inherited -
skip(
int count) → Stream< RawSocketEvent> -
Skips the first
count
data events from this stream.inherited -
skipWhile(
bool test(RawSocketEvent element)) → Stream< RawSocketEvent> -
Skip data events from this stream while they are matched by
test
.inherited -
take(
int count) → Stream< RawSocketEvent> -
Provides at most the first
count
data events of this stream.inherited -
takeWhile(
bool test(RawSocketEvent element)) → Stream< RawSocketEvent> -
Forwards data events while
test
is successful.inherited -
timeout(
Duration timeLimit, {void onTimeout(EventSink< RawSocketEvent> sink)?}) → Stream<RawSocketEvent> -
Creates a new stream with the same events as this stream.
inherited
-
toList(
) → Future< List< RawSocketEvent> > -
Collects all elements of this stream in a
List
.inherited -
toSet(
) → Future< Set< RawSocketEvent> > -
Collects the data of this stream in a
Set
.inherited -
toString(
) → String -
A string representation of this object.
inherited
-
transform<
S> (StreamTransformer< RawSocketEvent, S> streamTransformer) → Stream<S> -
Applies
streamTransformer
to this stream.inherited -
where(
bool test(RawSocketEvent event)) → Stream< RawSocketEvent> -
Creates a new stream from this stream that discards some elements.
inherited
-
write(
List< int> buffer, [int offset = 0, int? count]) → int -
Writes up to
count
bytes of the buffer fromoffset
buffer offset to the socket.inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
connect(
dynamic host, int port, {SecurityContext? context, bool onBadCertificate(X509Certificate certificate)?, void keyLog(String line)?, List< String> ? supportedProtocols, Duration? timeout}) → Future<RawSecureSocket> -
Constructs a new secure client socket and connect it to the given
host on the given port.
override
-
secure(
RawSocket socket, {StreamSubscription< RawSocketEvent> ? subscription, dynamic host, SecurityContext? context, bool onBadCertificate(X509Certificate certificate)?, void keyLog(String line)?, 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)?, void keyLog(String line)?, List< String> ? supportedProtocols}) → Future<ConnectionTask< RawSecureSocket> > -
Like connect, but returns a Future that completes with a
ConnectionTask
that can be cancelled if the RawSecureSocket is no longer needed.override