# NetUdpBinding

`import { NetUdpBinding } from "destack:net/binding";`

UDP binding family.

```ds title="NetUdpBinding"
export interface NetUdpBinding {
    joinMulticast(socket: SocketHandle, group: MulticastGroup): Result<void, HostError>;
    leaveMulticast(socket: SocketHandle, group: MulticastGroup): Result<void, HostError>;
    joinSourceMulticast(socket: SocketHandle, group: SourceMulticastGroup): Result<void, HostError>;
    leaveSourceMulticast(socket: SocketHandle, group: SourceMulticastGroup): Result<void, HostError>;
    setMulticastOption(socket: SocketHandle, option: MulticastOptionValue): Result<void, HostError>;
    getMulticastOption(socket: SocketHandle, option: MulticastOption): Result<MulticastOptionValue, HostError>;
}
```

[language/library/src/net/binding/udp.ds:93:153](https://github.com/destack-sh/destack/blob/main/language/library/src/net/binding/udp.ds#L93-L153)

## Members

### `joinMulticast(socket: SocketHandle, group: MulticastGroup): Result<void, HostError>`

Join one multicast group.

### `leaveMulticast(socket: SocketHandle, group: MulticastGroup): Result<void, HostError>`

Leave one multicast group.

### `joinSourceMulticast(socket: SocketHandle, group: SourceMulticastGroup): Result<void, HostError>`

Join one source-specific multicast group.

### `leaveSourceMulticast(socket: SocketHandle, group: SourceMulticastGroup): Result<void, HostError>`

Leave one source-specific multicast group.

### `setMulticastOption(socket: SocketHandle, option: MulticastOptionValue): Result<void, HostError>`

Set one multicast option.

### `getMulticastOption(socket: SocketHandle, option: MulticastOption): Result<MulticastOptionValue, HostError>`

Read one multicast option.
