Client

Overview

Abstract client component, the base for all other clients.

Location


 

constructor  protected

 

constructor

 

Client()

 

init()

 

Sub New()

BindingV4

Gets the binding which provides properties and methods such as address family, IPv4 address, port number etc for client to connect to the host network.

 

property BindingV4: Binding read;

 

Binding BindingV4 { get; }

 

var BindingV4: Binding { get{} }

 

ReadOnly Property BindingV4() As Binding

BindingV6

Gets the binding which provides properties and methods such as address family, IPv6 address, port number etc for client to connect to the host network.

 

property BindingV6: Binding read;

 

Binding BindingV6 { get; }

 

var BindingV6: Binding { get{} }

 

ReadOnly Property BindingV6() As Binding

Connect

 

method Connect: Connection

 

Connection Connect()

 

func Connect() -> Connection

 

Function Connect() As Connection

Connect (IPAddress, Int32): Connection

 

method Connect(host: IPAddress; port: Int32): Connection

 

Connection Connect(IPAddress host, Int32 port)

 

func Connect(_ host: IPAddress, _ port: Int32) -> Connection

 

Function Connect(host As IPAddress, port As Int32) As Connection

Parameters:

  • host:
  • port:

Connect (String, Int32): Connection

 

method Connect(hostname: String; port: Int32): Connection

 

Connection Connect(String hostname, Int32 port)

 

func Connect(_ hostname: String, _ port: Int32) -> Connection

 

Function Connect(hostname As String, port As Int32) As Connection

Parameters:

  • hostname:
  • port:

Connect (IPAddress, Int32, Binding): Connection

Overloaded. Use to connect the client to a remote network host using the specified host name (HostName) or IP address (HostAddress) and port number (Port) and/or Binding (BindingV4 or BindingV6).

 

class method Connect(host: IPAddress; port: Int32; binding: Binding): Connection

 

static Connection Connect(IPAddress host, Int32 port, Binding binding)

 

static func Connect(_ host: IPAddress, _ port: Int32, _ binding: Binding) -> Connection

 

Shared Function Connect(host As IPAddress, port As Int32, binding As Binding) As Connection

Parameters:

  • host:
  • port:
  • binding:

Connect (String, Int32, Binding): Connection

Overloaded. Use to connect the client to a remote network host using the specified host name (HostName) or IP address (HostAddress) and port number (Port) and/or Binding (BindingV4 or BindingV6).

 

class method Connect(hostname: String; port: Int32; binding: Binding): Connection

 

static Connection Connect(String hostname, Int32 port, Binding binding)

 

static func Connect(_ hostname: String, _ port: Int32, _ binding: Binding) -> Connection

 

Shared Function Connect(hostname As String, port As Int32, binding As Binding) As Connection

Parameters:

  • hostname:
  • port:
  • binding:

ConnectionClass

Use the ConnectionClass property to specify an alternative Connection class to be used for out coming data connections. The class described by the assigned Type must be a descendant of Connection, and will be used for all connections that are established after the property has been set. Existing connections are not affected by changing the property.

If ConnectionType is null (default), instances of the Connection base class will be used.

 

property ConnectionClass: Type read write;

 

Type ConnectionClass { get; set; }

 

var ConnectionClass: Type { get{} set{} }

 

Property ConnectionClass() As Type

ConnectionFactory

Represents an interface for a connection.

 

property ConnectionFactory: IConnectionFactory read write;

 

IConnectionFactory ConnectionFactory { get; set; }

 

var ConnectionFactory: IConnectionFactory { get{} set{} }

 

Property ConnectionFactory() As IConnectionFactory

ConnectionPool  protected

 

property ConnectionPool: ConnectionPool read write;

 

ConnectionPool ConnectionPool { get; set; }

 

var ConnectionPool: ConnectionPool { get{} set{} }

 

Property ConnectionPool() As ConnectionPool

ConnectNew (IPAddress, Int32): Connection

Overloaded. Opens and returns new connection with specified IP address and port.

 

method ConnectNew(host: IPAddress; port: Int32): Connection

 

Connection ConnectNew(IPAddress host, Int32 port)

 

func ConnectNew(_ host: IPAddress, _ port: Int32) -> Connection

 

Function ConnectNew(host As IPAddress, port As Int32) As Connection

Parameters:

  • host:
  • port:

ConnectNew (String, Int32): Connection

 

method ConnectNew(hostname: String; port: Int32): Connection

 

Connection ConnectNew(String hostname, Int32 port)

 

func ConnectNew(_ hostname: String, _ port: Int32) -> Connection

 

Function ConnectNew(hostname As String, port As Int32) As Connection

Parameters:

  • hostname:
  • port:

DnsResolveType

Determines if the specified HostName should be look up only Once per application run (if you establish multiple connections to the server, the subsequent connections will use the cached IPAddress) or Always, for each connect (the Hostname will be resolved again for each subsequet connect).

You'll usually only change this setting off the defaut (Once) if you anticipate the IPAddress of the target host to change frequently.

 

[DefaultValue(DnsResolveType.Once)]
property DnsResolveType: DnsResolveType read write;

 

[DefaultValue(DnsResolveType.Once)]
DnsResolveType DnsResolveType { get; set; }

 

@DefaultValue(DnsResolveType.Once)
var DnsResolveType: DnsResolveType { get{} set{} }

 

<DefaultValue(DnsResolveType.Once)>
Property DnsResolveType() As DnsResolveType

EnableNagle

Set its value to true to enable the Nagle algorithm for send coalescing.

 

[DefaultValue(false)]
property EnableNagle: Boolean read write;

 

[DefaultValue(false)]
Boolean EnableNagle { get; set; }

 

@DefaultValue(false)
var EnableNagle: Boolean { get{} set{} }

 

<DefaultValue(false)>
Property EnableNagle() As Boolean

GetConnection  protected

 

method GetConnection(host: IPAddress; port: Int32): Connection

 

Connection GetConnection(IPAddress host, Int32 port)

 

func GetConnection(_ host: IPAddress, _ port: Int32) -> Connection

 

Function GetConnection(host As IPAddress, port As Int32) As Connection

Parameters:

  • host:
  • port:

GetDefaultConnectionPool  protected

 

method GetDefaultConnectionPool: ConnectionPool

 

ConnectionPool GetDefaultConnectionPool()

 

func GetDefaultConnectionPool() -> ConnectionPool

 

Function GetDefaultConnectionPool() As ConnectionPool

HostAddress

Gets or sets an Internet Protocol (IP) address.

 

property HostAddress: IPAddress read write;

 

IPAddress HostAddress { get; set; }

 

var HostAddress: IPAddress { get{} set{} }

 

Property HostAddress() As IPAddress

HostName

The server host name or IP address that you intend the client to connect to.

 

property HostName: String read write;

 

String HostName { get; set; }

 

var HostName: String { get{} set{} }

 

Property HostName() As String

NewConnection  protected

 

method NewConnection(binding: Binding): Connection

 

Connection NewConnection(Binding binding)

 

func NewConnection(_ binding: Binding) -> Connection

 

Function NewConnection(binding As Binding) As Connection

Parameters:

  • binding:

OnResolvedHostName

This event is fired after the hostname has been successfully resolved.

 

event OnResolvedHostName: EventHandler<ResolvedHostNameEventArgs>

 

delegate EventHandler<ResolvedHostNameEventArgs> OnResolvedHostName()

 

__event EventHandler<ResolvedHostNameEventArgs>: OnResolvedHostName!

 

Event OnResolvedHostName As EventHandler<ResolvedHostNameEventArgs>

OnResolveHostName

This event is fired before the Client attepts to resolve the sepcifed HostName to an IP address. It provides you with an option to perform the resolution yourself, obtain the IP address from an internal cache you're maintaing, or do some other processing (such as for example chaging the hostname to look up).

 

event OnResolveHostName: EventHandler<ResolveHostNameEventArgs>

 

delegate EventHandler<ResolveHostNameEventArgs> OnResolveHostName()

 

__event EventHandler<ResolveHostNameEventArgs>: OnResolveHostName!

 

Event OnResolveHostName As EventHandler<ResolveHostNameEventArgs>

Port

The server Port that you intend the client to connect to.

 

property Port: Int32 read write;

 

Int32 Port { get; set; }

 

var Port: Int32 { get{} set{} }

 

Property Port() As Int32

ReleaseConnection  protected

 

method ReleaseConnection(connection: Connection)

 

void ReleaseConnection(Connection connection)

 

func ReleaseConnection(_ connection: Connection)

 

Sub ReleaseConnection(connection As Connection)

Parameters:

  • connection:

ResolveHostName  protected

 

method ResolveHostName

 

void ResolveHostName()

 

func ResolveHostName()

 

Sub ResolveHostName()

ResolveHostNameIfNeeded  protected

 

method ResolveHostNameIfNeeded

 

void ResolveHostNameIfNeeded()

 

func ResolveHostNameIfNeeded()

 

Sub ResolveHostNameIfNeeded()

SslOptions .NET Core, .NET Framework, .NET Standard

Gets the SslConnectionFactory instance that can be used to configure the SSL options of the current instance.

 

property SslOptions: SslConnectionFactory read write;

 

SslConnectionFactory SslOptions { get; set; }

 

var SslOptions: SslConnectionFactory { get{} set{} }

 

Property SslOptions() As SslConnectionFactory

TriggerOnResolvedHostName  protected

 

method TriggerOnResolvedHostName(e: ResolvedHostNameEventArgs)

 

void TriggerOnResolvedHostName(ResolvedHostNameEventArgs e)

 

func TriggerOnResolvedHostName(_ e: ResolvedHostNameEventArgs)

 

Sub TriggerOnResolvedHostName(e As ResolvedHostNameEventArgs)

Parameters:

  • e:

TriggerOnResolveHostName  protected

 

method TriggerOnResolveHostName(e: ResolveHostNameEventArgs)

 

void TriggerOnResolveHostName(ResolveHostNameEventArgs e)

 

func TriggerOnResolveHostName(_ e: ResolveHostNameEventArgs)

 

Sub TriggerOnResolveHostName(e As ResolveHostNameEventArgs)

Parameters:

  • e:

 

BindingV4

Gets the binding which provides properties and methods such as address family, IPv4 address, port number etc for client to connect to the host network.

 

property BindingV4: Binding read;

 

Binding BindingV4 { get; }

 

var BindingV4: Binding { get{} }

 

ReadOnly Property BindingV4() As Binding

BindingV6

Gets the binding which provides properties and methods such as address family, IPv6 address, port number etc for client to connect to the host network.

 

property BindingV6: Binding read;

 

Binding BindingV6 { get; }

 

var BindingV6: Binding { get{} }

 

ReadOnly Property BindingV6() As Binding

ConnectionClass

Use the ConnectionClass property to specify an alternative Connection class to be used for out coming data connections. The class described by the assigned Type must be a descendant of Connection, and will be used for all connections that are established after the property has been set. Existing connections are not affected by changing the property.

If ConnectionType is null (default), instances of the Connection base class will be used.

 

property ConnectionClass: Type read write;

 

Type ConnectionClass { get; set; }

 

var ConnectionClass: Type { get{} set{} }

 

Property ConnectionClass() As Type

ConnectionFactory

Represents an interface for a connection.

 

property ConnectionFactory: IConnectionFactory read write;

 

IConnectionFactory ConnectionFactory { get; set; }

 

var ConnectionFactory: IConnectionFactory { get{} set{} }

 

Property ConnectionFactory() As IConnectionFactory

ConnectionPool  protected

 

property ConnectionPool: ConnectionPool read write;

 

ConnectionPool ConnectionPool { get; set; }

 

var ConnectionPool: ConnectionPool { get{} set{} }

 

Property ConnectionPool() As ConnectionPool

DnsResolveType

Determines if the specified HostName should be look up only Once per application run (if you establish multiple connections to the server, the subsequent connections will use the cached IPAddress) or Always, for each connect (the Hostname will be resolved again for each subsequet connect).

You'll usually only change this setting off the defaut (Once) if you anticipate the IPAddress of the target host to change frequently.

 

[DefaultValue(DnsResolveType.Once)]
property DnsResolveType: DnsResolveType read write;

 

[DefaultValue(DnsResolveType.Once)]
DnsResolveType DnsResolveType { get; set; }

 

@DefaultValue(DnsResolveType.Once)
var DnsResolveType: DnsResolveType { get{} set{} }

 

<DefaultValue(DnsResolveType.Once)>
Property DnsResolveType() As DnsResolveType

EnableNagle

Set its value to true to enable the Nagle algorithm for send coalescing.

 

[DefaultValue(false)]
property EnableNagle: Boolean read write;

 

[DefaultValue(false)]
Boolean EnableNagle { get; set; }

 

@DefaultValue(false)
var EnableNagle: Boolean { get{} set{} }

 

<DefaultValue(false)>
Property EnableNagle() As Boolean

HostAddress

Gets or sets an Internet Protocol (IP) address.

 

property HostAddress: IPAddress read write;

 

IPAddress HostAddress { get; set; }

 

var HostAddress: IPAddress { get{} set{} }

 

Property HostAddress() As IPAddress

HostName

The server host name or IP address that you intend the client to connect to.

 

property HostName: String read write;

 

String HostName { get; set; }

 

var HostName: String { get{} set{} }

 

Property HostName() As String

Port

The server Port that you intend the client to connect to.

 

property Port: Int32 read write;

 

Int32 Port { get; set; }

 

var Port: Int32 { get{} set{} }

 

Property Port() As Int32

SslOptions .NET Core, .NET Framework, .NET Standard

Gets the SslConnectionFactory instance that can be used to configure the SSL options of the current instance.

 

property SslOptions: SslConnectionFactory read write;

 

SslConnectionFactory SslOptions { get; set; }

 

var SslOptions: SslConnectionFactory { get{} set{} }

 

Property SslOptions() As SslConnectionFactory

 

Connect (IPAddress, Int32, Binding): Connection

Overloaded. Use to connect the client to a remote network host using the specified host name (HostName) or IP address (HostAddress) and port number (Port) and/or Binding (BindingV4 or BindingV6).

 

class method Connect(host: IPAddress; port: Int32; binding: Binding): Connection

 

static Connection Connect(IPAddress host, Int32 port, Binding binding)

 

static func Connect(_ host: IPAddress, _ port: Int32, _ binding: Binding) -> Connection

 

Shared Function Connect(host As IPAddress, port As Int32, binding As Binding) As Connection

Parameters:

  • host:
  • port:
  • binding:

Connect (String, Int32, Binding): Connection

Overloaded. Use to connect the client to a remote network host using the specified host name (HostName) or IP address (HostAddress) and port number (Port) and/or Binding (BindingV4 or BindingV6).

 

class method Connect(hostname: String; port: Int32; binding: Binding): Connection

 

static Connection Connect(String hostname, Int32 port, Binding binding)

 

static func Connect(_ hostname: String, _ port: Int32, _ binding: Binding) -> Connection

 

Shared Function Connect(hostname As String, port As Int32, binding As Binding) As Connection

Parameters:

  • hostname:
  • port:
  • binding:

 

constructor  protected

 

constructor

 

Client()

 

init()

 

Sub New()

Connect

 

method Connect: Connection

 

Connection Connect()

 

func Connect() -> Connection

 

Function Connect() As Connection

Connect (IPAddress, Int32): Connection

 

method Connect(host: IPAddress; port: Int32): Connection

 

Connection Connect(IPAddress host, Int32 port)

 

func Connect(_ host: IPAddress, _ port: Int32) -> Connection

 

Function Connect(host As IPAddress, port As Int32) As Connection

Parameters:

  • host:
  • port:

Connect (String, Int32): Connection

 

method Connect(hostname: String; port: Int32): Connection

 

Connection Connect(String hostname, Int32 port)

 

func Connect(_ hostname: String, _ port: Int32) -> Connection

 

Function Connect(hostname As String, port As Int32) As Connection

Parameters:

  • hostname:
  • port:

ConnectNew (IPAddress, Int32): Connection

Overloaded. Opens and returns new connection with specified IP address and port.

 

method ConnectNew(host: IPAddress; port: Int32): Connection

 

Connection ConnectNew(IPAddress host, Int32 port)

 

func ConnectNew(_ host: IPAddress, _ port: Int32) -> Connection

 

Function ConnectNew(host As IPAddress, port As Int32) As Connection

Parameters:

  • host:
  • port:

ConnectNew (String, Int32): Connection

 

method ConnectNew(hostname: String; port: Int32): Connection

 

Connection ConnectNew(String hostname, Int32 port)

 

func ConnectNew(_ hostname: String, _ port: Int32) -> Connection

 

Function ConnectNew(hostname As String, port As Int32) As Connection

Parameters:

  • hostname:
  • port:

GetConnection  protected

 

method GetConnection(host: IPAddress; port: Int32): Connection

 

Connection GetConnection(IPAddress host, Int32 port)

 

func GetConnection(_ host: IPAddress, _ port: Int32) -> Connection

 

Function GetConnection(host As IPAddress, port As Int32) As Connection

Parameters:

  • host:
  • port:

GetDefaultConnectionPool  protected

 

method GetDefaultConnectionPool: ConnectionPool

 

ConnectionPool GetDefaultConnectionPool()

 

func GetDefaultConnectionPool() -> ConnectionPool

 

Function GetDefaultConnectionPool() As ConnectionPool

NewConnection  protected

 

method NewConnection(binding: Binding): Connection

 

Connection NewConnection(Binding binding)

 

func NewConnection(_ binding: Binding) -> Connection

 

Function NewConnection(binding As Binding) As Connection

Parameters:

  • binding:

ReleaseConnection  protected

 

method ReleaseConnection(connection: Connection)

 

void ReleaseConnection(Connection connection)

 

func ReleaseConnection(_ connection: Connection)

 

Sub ReleaseConnection(connection As Connection)

Parameters:

  • connection:

ResolveHostName  protected

 

method ResolveHostName

 

void ResolveHostName()

 

func ResolveHostName()

 

Sub ResolveHostName()

ResolveHostNameIfNeeded  protected

 

method ResolveHostNameIfNeeded

 

void ResolveHostNameIfNeeded()

 

func ResolveHostNameIfNeeded()

 

Sub ResolveHostNameIfNeeded()

TriggerOnResolvedHostName  protected

 

method TriggerOnResolvedHostName(e: ResolvedHostNameEventArgs)

 

void TriggerOnResolvedHostName(ResolvedHostNameEventArgs e)

 

func TriggerOnResolvedHostName(_ e: ResolvedHostNameEventArgs)

 

Sub TriggerOnResolvedHostName(e As ResolvedHostNameEventArgs)

Parameters:

  • e:

TriggerOnResolveHostName  protected

 

method TriggerOnResolveHostName(e: ResolveHostNameEventArgs)

 

void TriggerOnResolveHostName(ResolveHostNameEventArgs e)

 

func TriggerOnResolveHostName(_ e: ResolveHostNameEventArgs)

 

Sub TriggerOnResolveHostName(e As ResolveHostNameEventArgs)

Parameters:

  • e:

 

OnResolvedHostName

This event is fired after the hostname has been successfully resolved.

 

event OnResolvedHostName: EventHandler<ResolvedHostNameEventArgs>

 

delegate EventHandler<ResolvedHostNameEventArgs> OnResolvedHostName()

 

__event EventHandler<ResolvedHostNameEventArgs>: OnResolvedHostName!

 

Event OnResolvedHostName As EventHandler<ResolvedHostNameEventArgs>

OnResolveHostName

This event is fired before the Client attepts to resolve the sepcifed HostName to an IP address. It provides you with an option to perform the resolution yourself, obtain the IP address from an internal cache you're maintaing, or do some other processing (such as for example chaging the hostname to look up).

 

event OnResolveHostName: EventHandler<ResolveHostNameEventArgs>

 

delegate EventHandler<ResolveHostNameEventArgs> OnResolveHostName()

 

__event EventHandler<ResolveHostNameEventArgs>: OnResolveHostName!

 

Event OnResolveHostName As EventHandler<ResolveHostNameEventArgs>