---
title: "Référence d'API — nodefony — realtime-IRealtimeTransport"
source: docs/api/core/realtime-IRealtimeTransport.md
url: https://nodefony.github.io/nodefony-core/docs/api/core/realtime-IRealtimeTransport/
---


[Documentation](../../../) › [Référence d'API](../../) › [`nodefony`](../) › realtime-IRealtimeTransport

> Générée depuis les déclarations de types publiées de `nodefony` **10.0.0-beta.6** : exactement ce que reçoit une application qui l'installe. Cette page n'existe dans aucun dépôt — pour la corriger, on corrige le TSDoc du code.

## `nodefony`

`import { … } from "nodefony"` — 6 symboles.

### Constantes (1)

#### `TransportState`

```ts
const TransportState: { readonly CONNECTING: 0; readonly OPEN: 1; readonly CLOSING: 2; readonly CLOSED: 3; }
```

États d'un transport — alignés sur les constantes `WebSocket`.

### Interfaces (1)

#### `IRealtimeTransport`

```ts
interface IRealtimeTransport
```

- `connect(): void` — Ouvre le transport (asynchrone — l'ouverture effective est signalée par `onOpen`).
- `send(raw: RealtimeOutboundData): void` — Envoie une frame brute (texte sérialisé ou octets).
- `close(code?: number, reason?: string): void` — Ferme le transport (déclenche `onClose`).
- `readonly readyState: number` — État courant (0..3, cf `TransportState`).
- `readonly bufferedAmount?: number` — Octets en attente d'envoi (`WebSocket.bufferedAmount`) ; absent = inconnu, lu comme `0` — la contre-pression du client ne refuse alors jamais.
- `onOpen(cb: () => void): void` — Branche le handler d'ouverture (le owner relance subscribe/heartbeat).
- `onMessage(cb: (raw: RealtimeFrameData) => void): void` — Branche le pump entrant : appelé pour CHAQUE frame brute reçue, texte ou binaire — jamais filtrée ici (cf `RealtimeFrameData`).
- `onClose(cb: (code: number, reason: string) => void): void` — Branche la fermeture (le owner relance le backoff ou nettoie).
- `onError(cb: (err: unknown) => void): void` — Branche les erreurs transport (la fermeture qui suit gère le reconnect).

### Types (4)

#### `RealtimeFrameData`

```ts
type RealtimeFrameData = string | Uint8Array<ArrayBuffer>
```

Une frame brute telle que le transport la reçoit : du texte, ou des octets.

#### `RealtimeOutboundData`

```ts
type RealtimeOutboundData = RealtimeFrameData
```

Ce qu'un transport accepte d'émettre : une frame texte déjà sérialisée, ou des octets tels quels — le même type qu'en réception (cf `RealtimeFrameData`).

#### `RealtimeTransportFactory`

```ts
type RealtimeTransportFactory = (url: string, protocols?: readonly string[]) => IRealtimeTransport
```

Fabrique d'un transport pour une URL — injectable (tests, transports alternatifs).

#### `TransportStateValue`

```ts
type TransportStateValue = (typeof TransportState)[keyof typeof TransportState]
```

---

[← Toutes les références d'API](../../)
