Network base

Energy.Base.Network provides constants, delegates, and helper classes used by the higher-level networking classes in Energy.Core.

Constants

Constant Description
DEFAULT_SOCKET_TIMEOUT Default socket timeout in milliseconds (10000).
DEFAULT_SOCKET_BUFFER_SIZE Default buffer size (8192).
DEFAULT_PING_TIMEOUT Default ping timeout (30000).
DEFAULT_ADDRESS_FAMILY Default address family (Unspecified).
IP4_PATTERN Regular expression for IPv4 addresses.
IP6_PATTERN Regular expression for IPv6 addresses.

Delegates

The class defines delegates for network events:

  • ConnectDelegate

  • CloseDelegate

  • ListenDelegate

  • AcceptDelegate

  • SendDelegate<T> and SendDelegate

  • ReceiveDelegate<T> and ReceiveDelegate

  • ErrorDelegate

  • ExceptionDelegate

Settings

Energy.Base.Network.Settings holds basic network configuration.

Energy.Base.Network.Settings settings = new Energy.Base.Network.Settings
{
    SocketTimeout = 5000,
    SocketBufferSize = 4096,
    AddressFamily = System.Net.Sockets.AddressFamily.InterNetwork,
};

Connection

Energy.Base.Network.Connection holds connection information.

Energy.Base.Network.Connection connection = new Energy.Base.Network.Connection
{
    Host = "127.0.0.1",
    Port = 8080,
    Protocol = "tcp",
    Type = System.Net.Sockets.ProtocolType.Tcp,
};

Validation

bool valid = Energy.Base.Network.IsValidAddress("192.168.1.1");
bool valid6 = Energy.Base.Network.IsValidAddress("::1");

See also

  • core-network for higher-level networking utilities.