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
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 indexth 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 from offset 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