> For the complete documentation index, see [llms.txt](https://kinematicsoup.gitbook.io/reactor/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kinematicsoup.gitbook.io/reactor/api-reference/ks.reactor/ks.reactor.ksaddress.md).

# Struct ksAddress

Namespace: [KS.Reactor](/reactor/api-reference/ks.reactor.md)\
Assembly: KSCommon.dll

Holds host and port

```csharp
public struct ksAddress : ksISerializable
```

#### Implements

[ksISerializable](/reactor/api-reference/ks.reactor/ks.reactor.ksiserializable.md)

#### Inherited Members

[object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object\)), [object.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object-system-object\)), [object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode), [object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype), [object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals), [object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)

## Constructors

### ksAddress(string, ushort) <a href="#ks_reactor_ksaddress__ctor_system_string_system_uint16" id="ks_reactor_ksaddress__ctor_system_string_system_uint16"></a>

Constructor

```csharp
public ksAddress(string host, ushort port)
```

#### Parameters

`host` [string](https://learn.microsoft.com/dotnet/api/system.string)

Host

`port` [ushort](https://learn.microsoft.com/dotnet/api/system.uint16)

Port

### ksAddress(ksJSON) <a href="#ks_reactor_ksaddress__ctor_ks_reactor_ksjson" id="ks_reactor_ksaddress__ctor_ks_reactor_ksjson"></a>

Constructs an address from a [ksJSON](/reactor/api-reference/ks.reactor/ks.reactor.ksjson.md) object.

```csharp
public ksAddress(ksJSON json)
```

#### Parameters

`json` [ksJSON](/reactor/api-reference/ks.reactor/ks.reactor.ksjson.md)

Json object containing host and port fields.

## Fields

### Host <a href="#ks_reactor_ksaddress_host" id="ks_reactor_ksaddress_host"></a>

Host

```csharp
public string Host
```

#### Field Value

[string](https://learn.microsoft.com/dotnet/api/system.string)

### Port <a href="#ks_reactor_ksaddress_port" id="ks_reactor_ksaddress_port"></a>

Port

```csharp
public ushort Port
```

#### Field Value

[ushort](https://learn.microsoft.com/dotnet/api/system.uint16)

## Properties

### IsValid <a href="#ks_reactor_ksaddress_isvalid" id="ks_reactor_ksaddress_isvalid"></a>

Is the address valid? To be valid, [Host](#KS_Reactor_ksAddress_Host) must be non-empty and [Port](#KS_Reactor_ksAddress_Port) must be non-zero.

```csharp
public bool IsValid { get; }
```

#### Property Value

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

## Methods

### Deserialize(ksStreamBuffer) <a href="#ks_reactor_ksaddress_deserialize_ks_reactor_ksstreambuffer" id="ks_reactor_ksaddress_deserialize_ks_reactor_ksstreambuffer"></a>

Deserializes the address from an input buffer.

```csharp
public void Deserialize(ksStreamBuffer input)
```

#### Parameters

`input` [ksStreamBuffer](/reactor/api-reference/ks.reactor/ks.reactor.ksstreambuffer.md)

Input to deserialize from.

### Equals(object) <a href="#ks_reactor_ksaddress_equals_system_object" id="ks_reactor_ksaddress_equals_system_object"></a>

Checks if this address is equal to an object.

```csharp
public override bool Equals(object obj)
```

#### Parameters

`obj` [object](https://learn.microsoft.com/dotnet/api/system.object)

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

True if the object is an equivalent address.

### GetHashCode() <a href="#ks_reactor_ksaddress_gethashcode" id="ks_reactor_ksaddress_gethashcode"></a>

Gets the hash code for the address.

```csharp
public override int GetHashCode()
```

#### Returns

[int](https://learn.microsoft.com/dotnet/api/system.int32)

Hash code

### Serialize(ksStreamBuffer) <a href="#ks_reactor_ksaddress_serialize_ks_reactor_ksstreambuffer" id="ks_reactor_ksaddress_serialize_ks_reactor_ksstreambuffer"></a>

Serializes the address to an output buffer.

```csharp
public void Serialize(ksStreamBuffer output)
```

#### Parameters

`output` [ksStreamBuffer](/reactor/api-reference/ks.reactor/ks.reactor.ksstreambuffer.md)

Output to serialize to.

### ToJSON() <a href="#ks_reactor_ksaddress_tojson" id="ks_reactor_ksaddress_tojson"></a>

Converts the address to a [ksJSON](/reactor/api-reference/ks.reactor/ks.reactor.ksjson.md) object.

```csharp
public ksJSON ToJSON()
```

#### Returns

[ksJSON](/reactor/api-reference/ks.reactor/ks.reactor.ksjson.md)

Json object containing host and port fields.

### ToString() <a href="#ks_reactor_ksaddress_tostring" id="ks_reactor_ksaddress_tostring"></a>

Returns the string [Host](#KS_Reactor_ksAddress_Host):[Port](#KS_Reactor_ksAddress_Port)

```csharp
public override string ToString()
```

#### Returns

[string](https://learn.microsoft.com/dotnet/api/system.string)

[Host](#KS_Reactor_ksAddress_Host):[Port](#KS_Reactor_ksAddress_Port)

## Operators

### operator ==(ksAddress, ksAddress) <a href="#ks_reactor_ksaddress_op_equality_ks_reactor_ksaddress_ks_reactor_ksaddress" id="ks_reactor_ksaddress_op_equality_ks_reactor_ksaddress_ks_reactor_ksaddress"></a>

Checks if two addresses are the same.

```csharp
public static bool operator ==(ksAddress lhs, ksAddress rhs)
```

#### Parameters

`lhs` [ksAddress](/reactor/api-reference/ks.reactor/ks.reactor.ksaddress.md)

`rhs` [ksAddress](/reactor/api-reference/ks.reactor/ks.reactor.ksaddress.md)

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

True if the addresses are the same.

### operator !=(ksAddress, ksAddress) <a href="#ks_reactor_ksaddress_op_inequality_ks_reactor_ksaddress_ks_reactor_ksaddress" id="ks_reactor_ksaddress_op_inequality_ks_reactor_ksaddress_ks_reactor_ksaddress"></a>

Checks if two addresses are not the same.

```csharp
public static bool operator !=(ksAddress lhs, ksAddress rhs)
```

#### Parameters

`lhs` [ksAddress](/reactor/api-reference/ks.reactor/ks.reactor.ksaddress.md)

`rhs` [ksAddress](/reactor/api-reference/ks.reactor/ks.reactor.ksaddress.md)

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

True if the addresses are not the same.
