# node:net

<!-- Generated from reports/manifest.json by `node ./scripts/api-docs.ts`.
     Do not edit this file. Run `pnpm run docs` to rebuild it.
     Node v26.7.0, commit 975a25d, 2026-08-27T21:51:46.116Z. -->

# `node:net`

## Import

```js
import net from "nstdlib/net";
```

> [!NOTE]
> Only the API surface is available. `connect()` works wherever the host backs the socket bridge. `native/` does, and `listen()` is refused by name everywhere. `BlockList` and `SocketAddress` are real in every runtime: address parsing and the rule engine are pure arithmetic, so they are implemented rather than stubbed, and diffed against the host builtin.

## Runtime support

| Where it runs | Status | Export coverage | Details |
| ------------- | ------ | --------------- | ------- |
| **nstd** | ✅ works | – | Native tests match Node.js: net. |
| **Browser** | ❔ not tested | 100% of Node.js | It imports with the small process shim. 18/18 Node.js exports are available. No module-specific behavior test ran. |
| **Node.js (host)** | ⚠️ some support | 100% of Node.js | 18/18 exports. |

## Exports (18 of 18)

Each cell shows what happens when code reads an export:

- ✅ Available through every import style. A named error also counts.
- ⚠️ Available through only some import styles.
- ❔ The export exists but has no value.
- ❌ The export does not exist.
- – This environment was not measured.

| Export | Node.js | nstdlib | browser |
| ------ | ------- | ------- | ------- |
| `BlockList` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `BoundSocket` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `Server` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `Socket` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `SocketAddress` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `Stream` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `_createServerHandle` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `_normalizeArgs` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `connect` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `createConnection` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `createServer` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `getDefaultAutoSelectFamily` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `getDefaultAutoSelectFamilyAttemptTimeout` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `isIP` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `isIPv4` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `isIPv6` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `setDefaultAutoSelectFamily` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
| `setDefaultAutoSelectFamilyAttemptTimeout` | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> | <span title="Available" aria-label="Available">✅</span> |
