|
ProtonNet Server 1.0
An Open Solution for all your socket or web api needs.
|
Implements an SSL/TLS client for secure communication over a TCP connection. More...
Public Member Functions | |
| SslClient (string address, int port, TcpClientOptions options, SslOptions sslOptions) | |
| Initializes a new instance of the SslClient class. | |
| INetworkStatistics | GetNetworkStatistics () |
| Gets the network statistics associated with the client. | |
| virtual bool | Connect () |
| Connects the client to the server synchronously and initiates the SSL/TLS handshake. | |
| virtual bool | Disconnect () |
| Disconnects the client from the server synchronously. | |
| virtual bool | Reconnect () |
| Reconnects the client to the server by first disconnecting, then reconnecting and initiating the SSL/TLS handshake. | |
| virtual bool | ConnectAsync () |
| Connects the client to the server asynchronously and initiates the SSL/TLS handshake. | |
| virtual bool | DisconnectAsync () |
| Disconnects the client from the server asynchronously. | |
| virtual bool | ReconnectAsync () |
| Reconnects the client to the server asynchronously by first disconnecting, then reconnecting and initiating the SSL/TLS handshake. | |
| virtual int | Send (byte[] buffer) |
| Sends data to the server synchronously through the SSL/TLS stream. | |
| virtual int | Send (byte[] buffer, int position, int length) |
| Sends data to the server synchronously through the SSL/TLS stream starting from a specific position in the buffer. | |
| virtual bool | SendAsync (byte[] buffer) |
| Sends data to the server asynchronously through the SSL/TLS stream. | |
| virtual bool | SendAsync (byte[] buffer, int position, int length) |
| Sends data to the server asynchronously through the SSL/TLS stream starting from a specific position in the buffer. | |
| void | Dispose () |
| Disposes the SSL client, releasing all resources. | |
Public Member Functions inherited from XmobiTea.ProtonNetClient.IClient | |
Protected Member Functions | |
| virtual void | OnConnecting () |
| Called when the client is in the process of connecting. Can be overridden in derived classes to handle the event. | |
| virtual void | OnConnected () |
| Called when the client has successfully connected to the server. Can be overridden in derived classes to handle the event. | |
| virtual void | OnHandshaking () |
| Called when the SSL/TLS handshake is in progress. Can be overridden in derived classes to handle the event. | |
| virtual void | OnHandshaked () |
| Called when the SSL/TLS handshake has been completed. Can be overridden in derived classes to handle the event. | |
| virtual void | OnDisconnecting () |
| Called when the client is in the process of disconnecting. Can be overridden in derived classes to handle the event. | |
| virtual void | OnDisconnected () |
| Called when the client has successfully disconnected from the server. Can be overridden in derived classes to handle the event. | |
| virtual void | OnReceived (byte[] buffer, int position, int length) |
| Called when data is received from the server through the SSL/TLS stream. Can be overridden in derived classes to handle the event. | |
| virtual void | OnSent (int sent, int pending) |
| Called when data is successfully sent to the server through the SSL/TLS stream. Can be overridden in derived classes to handle the event. | |
| virtual void | OnEmpty () |
| Called when the send buffer is empty. Can be overridden in derived classes to handle the event. | |
| virtual void | OnError (SocketError error) |
| Called when an error occurs during socket operations. Can be overridden in derived classes to handle the event. | |
| virtual void | Dispose (bool disposingManagedResources) |
| Disposes the SSL client, releasing managed resources if specified. | |
Properties | |
| SslOptions | SslOptions [get] |
| Gets the Ssl options used for SSL/TLS encryption and authentication. | |
| bool | IsHandshaking [get] |
| Gets a value indicating whether the SSL/TLS handshake is in progress. | |
| bool | IsHandshaked [get] |
| Gets a value indicating whether the SSL/TLS handshake has been completed. | |
| string | Id [get] |
| A unique identifier for this client instance. | |
| string | Address [get] |
| The address of the remote server to which the client is connecting. | |
| int | Port [get] |
| The port number on the remote server to which the client is connecting. | |
| EndPoint | EndPoint [get] |
| The endpoint representing the address and port of the remote server. | |
| Socket | Socket [get] |
| The socket used for network communication. | |
| TcpClientOptions | Options [get] |
| Configuration options for the TCP client. | |
| bool | IsConnecting [get] |
| Indicates whether the client is currently in the process of connecting. | |
| bool | IsConnected [get] |
| Indicates whether the client is currently connected to the server. | |
| bool | IsDisposed [get] |
| Indicates whether the client has been disposed. | |
| bool | IsSocketDisposed [get] |
| Indicates whether the socket has been disposed. | |
Implements an SSL/TLS client for secure communication over a TCP connection.
| XmobiTea.ProtonNetClient.SslClient.SslClient | ( | string | address, |
| int | port, | ||
| TcpClientOptions | options, | ||
| SslOptions | sslOptions ) |
Initializes a new instance of the SslClient class.
| address | The server address to connect to. |
| port | The port number on the server. |
| options | TCP client options for configuring the connection. |
| sslOptions | The Ssl options for secure communication. |
|
virtual |
Connects the client to the server synchronously and initiates the SSL/TLS handshake.
Implements XmobiTea.ProtonNetClient.IClient.
Reimplemented in XmobiTea.ProtonNet.Client.Socket.Clients.SocketSslClient, XmobiTea.ProtonNet.Client.Socket.Clients.SocketWssClient, and XmobiTea.ProtonNetClient.WssClient.
|
virtual |
Connects the client to the server asynchronously and initiates the SSL/TLS handshake.
Implements XmobiTea.ProtonNetClient.IClient.
Reimplemented in XmobiTea.ProtonNetClient.WssClient.
|
virtual |
Disconnects the client from the server synchronously.
Implements XmobiTea.ProtonNetClient.IClient.
Reimplemented in XmobiTea.ProtonNet.Client.Socket.Clients.SocketSslClient, and XmobiTea.ProtonNet.Client.Socket.Clients.SocketWssClient.
|
virtual |
Disconnects the client from the server asynchronously.
Implements XmobiTea.ProtonNetClient.IClient.
|
protectedvirtual |
Disposes the SSL client, releasing managed resources if specified.
| disposingManagedResources | True to release managed resources; otherwise, false. |
| INetworkStatistics XmobiTea.ProtonNetClient.SslClient.GetNetworkStatistics | ( | ) |
Gets the network statistics associated with the client.
Implements XmobiTea.ProtonNetClient.IClient.
|
protectedvirtual |
Called when the client has successfully connected to the server. Can be overridden in derived classes to handle the event.
Reimplemented in XmobiTea.ProtonNet.Client.Socket.Clients.SocketSslClient, and XmobiTea.ProtonNetClient.WssClient.
|
protectedvirtual |
Called when the client is in the process of connecting. Can be overridden in derived classes to handle the event.
Reimplemented in XmobiTea.ProtonNetClient.WssClient.
|
protectedvirtual |
Called when the client has successfully disconnected from the server. Can be overridden in derived classes to handle the event.
Reimplemented in XmobiTea.ProtonNet.Client.Socket.Clients.SocketSslClient, XmobiTea.ProtonNet.Client.Socket.Clients.SocketWssClient, XmobiTea.ProtonNetClient.HttpsClient, and XmobiTea.ProtonNetClient.WssClient.
|
protectedvirtual |
Called when the client is in the process of disconnecting. Can be overridden in derived classes to handle the event.
Reimplemented in XmobiTea.ProtonNetClient.WssClient.
|
protectedvirtual |
Called when an error occurs during socket operations. Can be overridden in derived classes to handle the event.
| error | The socket error that occurred. |
|
protectedvirtual |
Called when the SSL/TLS handshake has been completed. Can be overridden in derived classes to handle the event.
Reimplemented in XmobiTea.ProtonNetClient.WssClient.
|
protectedvirtual |
Called when the SSL/TLS handshake is in progress. Can be overridden in derived classes to handle the event.
Reimplemented in XmobiTea.ProtonNetClient.WssClient.
|
protectedvirtual |
Called when data is received from the server through the SSL/TLS stream. Can be overridden in derived classes to handle the event.
| buffer | The buffer containing the received data. |
| position | The starting position in the buffer. |
| length | The length of the received data. |
Reimplemented in XmobiTea.ProtonNet.Client.Socket.Clients.SocketSslClient, XmobiTea.ProtonNetClient.HttpsClient, and XmobiTea.ProtonNetClient.WssClient.
|
protectedvirtual |
Called when data is successfully sent to the server through the SSL/TLS stream. Can be overridden in derived classes to handle the event.
| sent | The number of bytes sent. |
| pending | The number of bytes pending in the send buffer. |
|
virtual |
Reconnects the client to the server by first disconnecting, then reconnecting and initiating the SSL/TLS handshake.
Implements XmobiTea.ProtonNetClient.IClient.
Reimplemented in XmobiTea.ProtonNet.Client.Socket.Clients.SocketSslClient, and XmobiTea.ProtonNet.Client.Socket.Clients.SocketWssClient.
|
virtual |
Reconnects the client to the server asynchronously by first disconnecting, then reconnecting and initiating the SSL/TLS handshake.
Implements XmobiTea.ProtonNetClient.IClient.
|
virtual |
Sends data to the server synchronously through the SSL/TLS stream.
| buffer | The data to send. |
Implements XmobiTea.ProtonNetClient.IClient.
Reimplemented in XmobiTea.ProtonNet.Client.Socket.Clients.SocketWssClient.
|
virtual |
Sends data to the server synchronously through the SSL/TLS stream starting from a specific position in the buffer.
| buffer | The data to send. |
| position | The starting position in the buffer. |
| length | The number of bytes to send. |
Implements XmobiTea.ProtonNetClient.IClient.
|
virtual |
Sends data to the server asynchronously through the SSL/TLS stream.
| buffer | The data to send. |
Implements XmobiTea.ProtonNetClient.IClient.
Reimplemented in XmobiTea.ProtonNet.Client.Socket.Clients.SocketWssClient.
|
virtual |
Sends data to the server asynchronously through the SSL/TLS stream starting from a specific position in the buffer.
| buffer | The data to send. |
| position | The starting position in the buffer. |
| length | The number of bytes to send. |
Implements XmobiTea.ProtonNetClient.IClient.