> [!CAUTION]
> **Important:** Chrome will be removing support for Chrome Apps on all platforms. Chrome browser and the Chrome Web Store will continue to support extensions. [**Read the announcement**](https://blog.chromium.org/2020/08/changes-to-chrome-app-support-timeline.html) and learn more about [**migrating your app**](https://developer.chrome.com/apps/migration).

The `sockets` manifest property declares which permissions are available for the [sockets.udp](https://developer.chrome.com/docs/apps/reference/sockets/udp),
[sockets.tcp](https://developer.chrome.com/docs/apps/reference/sockets/tcp) and [sockets.tcpServer](https://developer.chrome.com/docs/apps/reference/sockets/tcpServer) APIs.

## Sample manifest.json

    {
      "name": "My Sockets app",
      "sockets": {
        "udp": {
          // Permission for chrome.sockets.udp.send:
          // The application is allowed to send udp packets
          // to any host:port combination.
          "send": "*"
        },
        "tcp": {
          // Permission for chrome.sockets.tcp.connect:
          // The application is allowed to connect only to the
          // tcp server on 127.0.0.1 port 80.
          "connect": "127.0.0.1:80"
        },
        "tcpServer": {
          // Permission for chrome.sockets.tcpServer.listen:
          // The application is allowed to accept new client
          // connections on the local address at port 80.
          "listen": "127.0.0.1:80"
        }
      },
      ...
    }

## Reference

- **`udp` (object)** - optional

  The `udp` manifest property declares which sockets.udp operations an app can issue.

  | Type | Attribute | Description |
  |---|---|---|
  | string or array of string | (optional) bind | <br /> The host:port pattern for `bind` operations. <br /> |
  | string or array of string | (optional) send | <br /> The host:port pattern for `send` operations. <br /> |
  | string or array of string | (optional) multicastMembership | <br /> The host:port pattern for `joinGroup` operations. <br /> |

- **`tcp` (object)** - optional

  The `tcp` manifest property declares which sockets.tcp operations an app can issue.

  | Type | Attribute | Description |
  |---|---|---|
  | string or array of string | (optional) connect | <br /> The host:port pattern for `connect` operations. <br /> |

- **`tcpServer` (object)** - optional

  The `tcpServer` manifest property declares which sockets.tcpServer operations an app can issue.

  | Type | Attribute | Description |
  |---|---|---|
  | string or array of string | (optional) listen | <br /> The host:port pattern for `listen` operations. <br /> |