dart:io
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. - readMessage([int? count]) → SocketMessage?
@Since("2.15"), inherited
- Reads a message containing up to
count 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
- Does nothing.
- sendMessage(List<SocketControlMessage> controlMessages, List<int> data, [int offset = 0, int? count]) → int
@Since("2.15"), inherited
- Writes socket control messages and data bytes to the socket.
- 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)?, void keyLog(String line)?, 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)?, 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>>
override
- Like connect, but returns a Future that completes with a
ConnectionTask that can be cancelled if the RawSecureSocket is no longer needed.