# Function: applyWSSHandler()

> 

> **applyWSSHandler**\<`TRouter`\>(`opts`): `object`

Defined in: [packages/server/src/adapters/ws.ts:909](https://github.com/trpc/trpc/blob/7c907acfd8b31929214792e3b8c2ad7a8ac72563/packages/server/src/adapters/ws.ts#L909)

Serves a router on a `ws` WebSocket server. Returns
`broadcastReconnectNotification()`, which tells every client to
reconnect, for example before a deploy.

## Type Parameters

| Type Parameter |
| ------ |
| `TRouter` *extends* [`AnyTRPCRouter`](https://trpc.io/docs/typedoc/server/index/type-aliases/AnyTRPCRouter.md) |

## Parameters

| Parameter | Type |
| ------ | ------ |
| `opts` | [`WSSHandlerOptions`](https://trpc.io/docs/typedoc/server/adapters/ws/type-aliases/WSSHandlerOptions.md)\<`TRouter`\> |

## Returns

`object`

### broadcastReconnectNotification()

> **broadcastReconnectNotification**: () => `void`

#### Returns

`void`

## Example

```ts
const wss = new WebSocketServer({ port: 3001 });
const handler = applyWSSHandler({ wss, router: appRouter, createContext });
process.on('SIGTERM', () => {
  handler.broadcastReconnectNotification();
  wss.close();
});
```

## See

https://trpc.io/docs/server/websockets#creating-a-websocket-server
