# Function: getWSConnectionHandler()

> 

> **getWSConnectionHandler**\<`TRouter`\>(`opts`): (`client`, `req`) => `void`

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

Returns a `ws` connection listener that serves a router. `applyWSSHandler`
uses it; call it to attach tRPC to your own WebSocket server.

## 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

`Function`

### Parameters

| Parameter | Type |
| ------ | ------ |
| `client` | `WebSocket` |
| `req` | `IncomingMessage` |

### Returns

`void`
