# AR51ClientOptions

<Badge tone="type">record · sealed</Badge> <Badge>thread-safe</Badge>

```csharp
namespace AR51.Net;

public sealed record AR51ClientOptions
```

Settings for [`AR51Client.Create`](/docs/sdk-api/csharp-api/classes/ar51client/#create). The defaults work for a standard AR 51 installation.

:::tip[How-to]
This page is **reference** (facts only). For a walkthrough with a complete sample, see the [Connecting guide](/docs/csharp-api/connecting/).
:::

## Properties

<div className="apiPropTable apiTable">

| Property | Type | Access | Default | Description |
|---|---|---|---|---|
| `Host` | `string?` | `get · init` | — | Host name or IP address of the AR 51 server. `null` (the default) finds the server automatically on the local network. Set it when automatic discovery is blocked, for example across subnets or by a firewall. |
| `RegistrationPort` | `int` | `get · init` | `1501` | Port of the server's registration service, used with `Host`. Default: 1501. |
| `DiscoveryPort` | `int` | `get · init` | `1500` | UDP port used to find the server on the local network. Default: 1500. |
| `DiscoveryTimeout` | [`TimeSpan`](https://learn.microsoft.com/en-us/dotnet/api/system.timespan) | `get · init` | `TimeSpan.FromSeconds(1)` | How long to wait for the server to answer one discovery attempt. Default: 1 second. |
| `ReconnectDelay` | [`TimeSpan`](https://learn.microsoft.com/en-us/dotnet/api/system.timespan) | `get · init` | `TimeSpan.FromSeconds(1)` | Pause between connection attempts after a failure or a lost connection. Default: 1 second. |

</div>

## See also

- [Connecting guide](/docs/csharp-api/connecting/) — walkthrough with a complete, compiled sample
- [Class index](/docs/sdk-api/csharp-api/classes/) — every AR51.Net type
- [Data conventions, threading and errors](/docs/csharp-api/conventions/)
