<br />

<br />

## Description

Use the `chrome.mdns` API to discover services over mDNS. This comprises a subset of the features of the NSD spec: http://www.w3.org/TR/discovery-api/

<br />

<br />

## Permissions

`mdns`  

<br />

<br />

## Availability

Chrome 43+

<br />

<br />

<br />

## Types

### MDnsService

#### Properties

- ipAddress string

  The IP address of an mDNS advertised service.
- serviceData string\[\]

  Metadata for an mDNS advertised service.
- serviceHostPort string

  The host:port pair of an mDNS advertised service.
- serviceName string

  The service name of an mDNS advertised service, ..

## Properties

### MAX_SERVICE_INSTANCES_PER_EVENT

Chrome 44+

The maximum number of service instances that will be included in onServiceList events. If more instances are available, they may be truncated from the onServiceList event.

#### Value

2048   

## Methods

### forceDiscovery()

Promise Chrome 45+

```typescript
chrome.mdns.forceDiscovery(
  callback?: function,
): Promise<void>
```

Immediately issues a multicast DNS query for all service types. `callback` is invoked immediately. At a later time, queries will be sent, and any service events will be fired.

#### Parameters

- callback function optional


  The `callback` parameter looks like:

  ```typescript
  () => void
  ```

  <br />

#### Returns

- Promise\<void\>
  Chrome 96+


  Promises are only supported for Manifest V3 and later, other platforms need to use callbacks.

## Events

### onServiceList

```typescript
chrome.mdns.onServiceList.addListener(
  callback: function,
)
```

Event fired to inform clients of the current complete set of known available services. Clients should only need to store the list from the most recent event. The service type that the extension is interested in discovering should be specified as the event filter with the 'serviceType' key. Not specifying an event filter will not start any discovery listeners.

#### Parameters

- callback function


  The `callback` parameter looks like:

  ```typescript
  (services: MDnsService[]) => void
  ```

  <br />

  - services [MDnsService](https://developer.chrome.com/docs/apps/reference/mdns#type-MDnsService)\[\]

<br />