C# Class GSF.Communication.TlsClient

Represents a TCP-based communication client with SSL authentication and encryption.
Inheritance: ClientBase
Afficher le fichier Open project: GridProtectionAlliance/gsf Class Usage Examples

Méthodes publiques

Свойство Type Description
DefaultTrustedCertificatesPath string

Private Properties

Свойство Type Description
ConnectAsync void
DefaultLocalCertificateSelectionCallback System.Security.Cryptography.X509Certificates.X509Certificate
DumpPayloads void
LoadTrustedCertificates void
ProcessConnect void
ProcessIntegratedSecurityAuthentication void
ProcessReceivePayloadAware void
ProcessReceivePayloadUnaware void
ProcessSend void
ProcessTlsAuthentication void
ReceivePayloadAwareAsync void
ReceivePayloadUnawareAsync void
SendPayloadAsync void
TerminateConnection void

Méthodes publiques

Méthode Description
ConnectAsync ( ) : WaitHandle

Connects the TlsClient to the server asynchronously.

Disconnect ( ) : void

When overridden in a derived class, disconnects client from the server synchronously.

LoadSettings ( ) : void

Loads saved TlsClient settings from the config file if the ClientBase.PersistSettings property is set to true.

Read ( byte buffer, int startIndex, int length ) : int

When overridden in a derived class, reads a number of bytes from the current received data buffer and writes those bytes into a byte array at the specified offset.

This function should only be called from within the ClientBase.ReceiveData event handler. Calling this method outside this event will have unexpected results.

SaveSettings ( ) : void

Saves TlsClient settings to the config file if the ClientBase.PersistSettings property is set to true.

TlsClient ( ) : System

Initializes a new instance of the TlsClient class.

TlsClient ( IContainer container ) : System

Initializes a new instance of the TlsClient class.

TlsClient ( string connectString ) : System

Initializes a new instance of the TlsClient class.

Méthodes protégées

Méthode Description
Dispose ( bool disposing ) : void

Releases the unmanaged resources used by the TlsClient and optionally releases the managed resources.

OnReceiveDataException ( Exception ex ) : void

Raises the ClientBase.ReceiveDataException event.

OnReceiveDataException ( SocketException ex ) : void

Raises the ClientBase.ReceiveDataException event.

OnSendDataException ( Exception ex ) : void

Raises the ClientBase.SendDataException event.

SendDataAsync ( byte data, int offset, int length ) : WaitHandle

When overridden in a derived class, sends data to the server asynchronously.

ValidateConnectionString ( string connectionString ) : void

When overridden in a derived class, validates the specified connectionString.

Private Methods

Méthode Description
ConnectAsync ( ConnectState connectState ) : void

Initiates an asynchronous connection attempt.

DefaultLocalCertificateSelectionCallback ( object sender, string targetHost, X509CertificateCollection localCertificates, X509Certificate remoteCertificate, string acceptableIssuers ) : X509Certificate

Returns the certificate set by the user.

DumpPayloads ( ) : void

Dumps payloads from the send queue when the send queue grows too large.

LoadTrustedCertificates ( ) : void

Loads the list of trusted certificates into the default certificate checker.

ProcessConnect ( ConnectState connectState ) : void
ProcessIntegratedSecurityAuthentication ( IAsyncResult asyncResult ) : void
ProcessReceivePayloadAware ( IAsyncResult asyncResult ) : void

Callback method for asynchronous receive operation of payload data in "payload-aware" mode.

ProcessReceivePayloadUnaware ( IAsyncResult asyncResult ) : void

Callback method for asynchronous receive operation of payload data in "payload-unaware" mode.

ProcessSend ( IAsyncResult asyncResult ) : void

Callback method for asynchronous send operation.

ProcessTlsAuthentication ( IAsyncResult asyncResult ) : void

Callback method for asynchronous authenticate operation.

ReceivePayloadAwareAsync ( ReceiveState receiveState ) : void

Initiate method for asynchronous receive operation of payload data in "payload-aware" mode.

ReceivePayloadUnawareAsync ( ReceiveState receiveState ) : void

Initiate method for asynchronous receive operation of payload data in "payload-unaware" mode.

SendPayloadAsync ( SendState sendState ) : void

Sends a payload on the socket.

TerminateConnection ( CancellationToken cancellationToken ) : void

Processes the termination of client.

Method Details

ConnectAsync() public méthode

Connects the TlsClient to the server asynchronously.
Attempt is made to connect the when it is not disconnected.
public ConnectAsync ( ) : WaitHandle
Résultat System.Threading.WaitHandle

Disconnect() public méthode

When overridden in a derived class, disconnects client from the server synchronously.
public Disconnect ( ) : void
Résultat void

Dispose() protected méthode

Releases the unmanaged resources used by the TlsClient and optionally releases the managed resources.
protected Dispose ( bool disposing ) : void
disposing bool true to release both managed and unmanaged resources; false to release only unmanaged resources.
Résultat void

LoadSettings() public méthode

Loads saved TlsClient settings from the config file if the ClientBase.PersistSettings property is set to true.
public LoadSettings ( ) : void
Résultat void

OnReceiveDataException() protected méthode

Raises the ClientBase.ReceiveDataException event.
protected OnReceiveDataException ( Exception ex ) : void
ex System.Exception Exception to send to event.
Résultat void

OnReceiveDataException() protected méthode

Raises the ClientBase.ReceiveDataException event.
protected OnReceiveDataException ( SocketException ex ) : void
ex System.Net.Sockets.SocketException Exception to send to event.
Résultat void

OnSendDataException() protected méthode

Raises the ClientBase.SendDataException event.
protected OnSendDataException ( Exception ex ) : void
ex System.Exception Exception to send to event.
Résultat void

Read() public méthode

When overridden in a derived class, reads a number of bytes from the current received data buffer and writes those bytes into a byte array at the specified offset.
This function should only be called from within the ClientBase.ReceiveData event handler. Calling this method outside this event will have unexpected results.
public Read ( byte buffer, int startIndex, int length ) : int
buffer byte Destination buffer used to hold copied bytes.
startIndex int 0-based starting index into destination to begin writing data.
length int The number of bytes to read from current received data buffer and write into .
Résultat int

SaveSettings() public méthode

Saves TlsClient settings to the config file if the ClientBase.PersistSettings property is set to true.
public SaveSettings ( ) : void
Résultat void

SendDataAsync() protected méthode

When overridden in a derived class, sends data to the server asynchronously.
protected SendDataAsync ( byte data, int offset, int length ) : WaitHandle
data byte The buffer that contains the binary data to be sent.
offset int The zero-based position in the at which to begin sending data.
length int The number of bytes to be sent from starting at the .
Résultat System.Threading.WaitHandle

TlsClient() public méthode

Initializes a new instance of the TlsClient class.
public TlsClient ( ) : System
Résultat System

TlsClient() public méthode

Initializes a new instance of the TlsClient class.
public TlsClient ( IContainer container ) : System
container IContainer object that contains the .
Résultat System

TlsClient() public méthode

Initializes a new instance of the TlsClient class.
public TlsClient ( string connectString ) : System
connectString string Connect string of the . See for format.
Résultat System

ValidateConnectionString() protected méthode

When overridden in a derived class, validates the specified connectionString.
protected ValidateConnectionString ( string connectionString ) : void
connectionString string The connection string to be validated.
Résultat void

Property Details

DefaultTrustedCertificatesPath public_oe property

Specifies the default value for the TrustedCertificatesPath property.
public string DefaultTrustedCertificatesPath
Résultat string