Server

Overview

The Server abstract class is a base class for all server classes. It provides methods and properties common for all its descendants.

This class cannot be instantiated directly.

Location


 

constructor  protected

Creates a new instance of the Server class.

The constructor checks the current platform capatibilities and instantiates the appropriate IPv4 and IPv6 bindings.

Cannot be called directly.

 

constructor

 

Server()

 

Sub New()

Active

Gets or sets the flag defining whether the server is listening for incoming connections.

Setting this property to true or false calls the Open or Close methods, accordingly

 

property Active: Boolean read write;

 

Boolean Active { get; set; }

 

Property Active() As Boolean

BindAddressV4

 

property BindAddressV4: IPAddress read write;

 

IPAddress BindAddressV4 { get; set; }

 

Property BindAddressV4() As IPAddress

BindAddressV6

 

property BindAddressV6: IPAddress read write;

 

IPAddress BindAddressV6 { get; set; }

 

Property BindAddressV6() As IPAddress

BindingV4

Gets the IPv4 ServerBinding instance.

The returned instance can be used to fine-tune the IPv4 server endpoint.

 

property BindingV4: ServerBinding read;

 

ServerBinding BindingV4 { get; }

 

ReadOnly Property BindingV4() As ServerBinding

BindingV6

Gets the IPv6 ServerBinding instance.

The returned instance can be used to fine-tune the IPv6 server endpoint.

 

property BindingV6: ServerBinding read;

 

ServerBinding BindingV6 { get; }

 

ReadOnly Property BindingV6() As ServerBinding

BindV4

Gets or sets the flag indicating whether the server should listen for IPv4 connections.

Setting this flag doesn't have any immediate effect. Its value is used only when the server is opened (either by setting the Active property to true or by directly calling the Open method).

 

property BindV4: Boolean read write;

 

Boolean BindV4 { get; set; }

 

Property BindV4() As Boolean

BindV6

Gets or sets the flag indicating whether the server should listen for IPv6 connections.

Setting this flag doesn't have any immediate effect. Its value is used only when the server is opened (either by setting the Active property to true or by directly calling the Open method).

 

property BindV6: Boolean read write;

 

Boolean BindV6 { get; set; }

 

Property BindV6() As Boolean

Close

This method causes the server to stop listening for incoming connections.

 

method Close

 

void Close()

 

Sub Close()

CloseConnectionsOnShutdown

Gets or sets the flag indicating whether the currently open client connections should be appropriately closed on server shutdown.

The default value is true.

 

property CloseConnectionsOnShutdown: Boolean read write;

 

Boolean CloseConnectionsOnShutdown { get; set; }

 

Property CloseConnectionsOnShutdown() As Boolean

ConnectionClass

Gets or sets an alternative Connection class to be used for incoming data connections. The class described by the assigned Type must be a descendant of the Connection class, 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 the ConnectionType property value is null (default), instances of the Connection base class will be used.

 

property ConnectionClass: Type read write;

 

Type ConnectionClass { get; set; }

 

Property ConnectionClass() As Type

ConnectionFactory

Gets or sets an alternative Connection factory instance to be used for incoming data connections. This factory will be used to create corresponding Connection instances for all connections that are established after the property has been set.

Existing connections are not affected by changing the property.

This property has precendence over the ConnectionClass property.

 

property ConnectionFactory: IConnectionFactory read write;

 

IConnectionFactory ConnectionFactory { get; set; }

 

Property ConnectionFactory() As IConnectionFactory

CreateWorker  protected

 

method CreateWorker(owner: Server): Object

 

Object CreateWorker(Server owner)

 

Function CreateWorker(owner As Server) As Object

Parameters:

  • owner:

DefaultPort  protected

Gets or sets the default port number.

 

property DefaultPort: Int32 read write;

 

Int32 DefaultPort { get; set; }

 

Property DefaultPort() As Int32

Dispose  protected

Disposes of the current instance and releases all resources used by it.

 

method Dispose(disposing: Boolean)

 

void Dispose(Boolean disposing)

 

Sub Dispose(disposing As Boolean)

Parameters:

  • disposing:

EnableNagle

Gets or the sets flag indicating whether the Nagle's algoritm should be used.

Setting this flag doesn't have any immediate effect. Its value is used only when the server is opened (either by setting the Active property to true or by directly calling the Open method).

 

property EnableNagle: Boolean read write;

 

Boolean EnableNagle { get; set; }

 

Property EnableNagle() As Boolean

IsRunningOnMono  protected

 

class method IsRunningOnMono: Boolean

 

static Boolean IsRunningOnMono()

 

Shared Function IsRunningOnMono() As Boolean

MaxLineLength

Gets or sets the default MaxLineLength value for all newly created Connections.

See the desription of the Connection.MaxLineLength property for details.

 

property MaxLineLength: Int32 read write;

 

Int32 MaxLineLength { get; set; }

 

Property MaxLineLength() As Int32

MaxLineLengthEnabled

Gets or sets the default MaxLineLengthEnabled value for all newly created Connections.

See the desription of the Connection.MaxLineLengthEnabled property for details.

 

property MaxLineLengthEnabled: Boolean read write;

 

Boolean MaxLineLengthEnabled { get; set; }

 

Property MaxLineLengthEnabled() As Boolean

Open

This method causes the server to start listening for incoming connections.

 

method Open

 

void Open()

 

Sub Open()

Port

Gets or sets the port number on which the server will listen.

 

property Port: Int32 read write;

 

Int32 Port { get; set; }

 

Property Port() As Int32

ShouldSerializePort

Returns true when the DefaultPort is not equal to the Port.

 

method ShouldSerializePort: Boolean

 

Boolean ShouldSerializePort()

 

Function ShouldSerializePort() As Boolean

SslOptions

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

 

property SslOptions: SslConnectionFactory read;

 

SslConnectionFactory SslOptions { get; }

 

ReadOnly Property SslOptions() As SslConnectionFactory

Timeout

Gets or sets the default Timeout value for all newly created Connections.

See the desription of the Connection.Timeout property for details.

 

property Timeout: Int32 read write;

 

Int32 Timeout { get; set; }

 

Property Timeout() As Int32

TimeoutEnabled

Gets or sets the default TimeoutEnabled value for all newly created Connections.

See the desription of the Connection.TimeoutEnabled property for details.

 

property TimeoutEnabled: Boolean read write;

 

Boolean TimeoutEnabled { get; set; }

 

Property TimeoutEnabled() As Boolean

 

Active

Gets or sets the flag defining whether the server is listening for incoming connections.

Setting this property to true or false calls the Open or Close methods, accordingly

 

property Active: Boolean read write;

 

Boolean Active { get; set; }

 

Property Active() As Boolean

BindAddressV4

 

property BindAddressV4: IPAddress read write;

 

IPAddress BindAddressV4 { get; set; }

 

Property BindAddressV4() As IPAddress

BindAddressV6

 

property BindAddressV6: IPAddress read write;

 

IPAddress BindAddressV6 { get; set; }

 

Property BindAddressV6() As IPAddress

BindingV4

Gets the IPv4 ServerBinding instance.

The returned instance can be used to fine-tune the IPv4 server endpoint.

 

property BindingV4: ServerBinding read;

 

ServerBinding BindingV4 { get; }

 

ReadOnly Property BindingV4() As ServerBinding

BindingV6

Gets the IPv6 ServerBinding instance.

The returned instance can be used to fine-tune the IPv6 server endpoint.

 

property BindingV6: ServerBinding read;

 

ServerBinding BindingV6 { get; }

 

ReadOnly Property BindingV6() As ServerBinding

BindV4

Gets or sets the flag indicating whether the server should listen for IPv4 connections.

Setting this flag doesn't have any immediate effect. Its value is used only when the server is opened (either by setting the Active property to true or by directly calling the Open method).

 

property BindV4: Boolean read write;

 

Boolean BindV4 { get; set; }

 

Property BindV4() As Boolean

BindV6

Gets or sets the flag indicating whether the server should listen for IPv6 connections.

Setting this flag doesn't have any immediate effect. Its value is used only when the server is opened (either by setting the Active property to true or by directly calling the Open method).

 

property BindV6: Boolean read write;

 

Boolean BindV6 { get; set; }

 

Property BindV6() As Boolean

CloseConnectionsOnShutdown

Gets or sets the flag indicating whether the currently open client connections should be appropriately closed on server shutdown.

The default value is true.

 

property CloseConnectionsOnShutdown: Boolean read write;

 

Boolean CloseConnectionsOnShutdown { get; set; }

 

Property CloseConnectionsOnShutdown() As Boolean

ConnectionClass

Gets or sets an alternative Connection class to be used for incoming data connections. The class described by the assigned Type must be a descendant of the Connection class, 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 the ConnectionType property value is null (default), instances of the Connection base class will be used.

 

property ConnectionClass: Type read write;

 

Type ConnectionClass { get; set; }

 

Property ConnectionClass() As Type

ConnectionFactory

Gets or sets an alternative Connection factory instance to be used for incoming data connections. This factory will be used to create corresponding Connection instances for all connections that are established after the property has been set.

Existing connections are not affected by changing the property.

This property has precendence over the ConnectionClass property.

 

property ConnectionFactory: IConnectionFactory read write;

 

IConnectionFactory ConnectionFactory { get; set; }

 

Property ConnectionFactory() As IConnectionFactory

DefaultPort  protected

Gets or sets the default port number.

 

property DefaultPort: Int32 read write;

 

Int32 DefaultPort { get; set; }

 

Property DefaultPort() As Int32

EnableNagle

Gets or the sets flag indicating whether the Nagle's algoritm should be used.

Setting this flag doesn't have any immediate effect. Its value is used only when the server is opened (either by setting the Active property to true or by directly calling the Open method).

 

property EnableNagle: Boolean read write;

 

Boolean EnableNagle { get; set; }

 

Property EnableNagle() As Boolean

MaxLineLength

Gets or sets the default MaxLineLength value for all newly created Connections.

See the desription of the Connection.MaxLineLength property for details.

 

property MaxLineLength: Int32 read write;

 

Int32 MaxLineLength { get; set; }

 

Property MaxLineLength() As Int32

MaxLineLengthEnabled

Gets or sets the default MaxLineLengthEnabled value for all newly created Connections.

See the desription of the Connection.MaxLineLengthEnabled property for details.

 

property MaxLineLengthEnabled: Boolean read write;

 

Boolean MaxLineLengthEnabled { get; set; }

 

Property MaxLineLengthEnabled() As Boolean

Port

Gets or sets the port number on which the server will listen.

 

property Port: Int32 read write;

 

Int32 Port { get; set; }

 

Property Port() As Int32

SslOptions

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

 

property SslOptions: SslConnectionFactory read;

 

SslConnectionFactory SslOptions { get; }

 

ReadOnly Property SslOptions() As SslConnectionFactory

Timeout

Gets or sets the default Timeout value for all newly created Connections.

See the desription of the Connection.Timeout property for details.

 

property Timeout: Int32 read write;

 

Int32 Timeout { get; set; }

 

Property Timeout() As Int32

TimeoutEnabled

Gets or sets the default TimeoutEnabled value for all newly created Connections.

See the desription of the Connection.TimeoutEnabled property for details.

 

property TimeoutEnabled: Boolean read write;

 

Boolean TimeoutEnabled { get; set; }

 

Property TimeoutEnabled() As Boolean

 

IsRunningOnMono  protected

 

class method IsRunningOnMono: Boolean

 

static Boolean IsRunningOnMono()

 

Shared Function IsRunningOnMono() As Boolean

 

constructor  protected

Creates a new instance of the Server class.

The constructor checks the current platform capatibilities and instantiates the appropriate IPv4 and IPv6 bindings.

Cannot be called directly.

 

constructor

 

Server()

 

Sub New()

Close

This method causes the server to stop listening for incoming connections.

 

method Close

 

void Close()

 

Sub Close()

CreateWorker  protected

 

method CreateWorker(owner: Server): Object

 

Object CreateWorker(Server owner)

 

Function CreateWorker(owner As Server) As Object

Parameters:

  • owner:

Dispose  protected

Disposes of the current instance and releases all resources used by it.

 

method Dispose(disposing: Boolean)

 

void Dispose(Boolean disposing)

 

Sub Dispose(disposing As Boolean)

Parameters:

  • disposing:

Open

This method causes the server to start listening for incoming connections.

 

method Open

 

void Open()

 

Sub Open()

ShouldSerializePort

Returns true when the DefaultPort is not equal to the Port.

 

method ShouldSerializePort: Boolean

 

Boolean ShouldSerializePort()

 

Function ShouldSerializePort() As Boolean