## ReconnectingWebSocket class

**Signature:**
```typescript
export declare class ReconnectingWebSocket<WS extends IWebSocket = WebSocket> extends TypedEventTarget<WebSocketEventMap> implements IReconnectingWebSocket
```

**Extends:** [TypedEventTarget](/content/docs/sdk/core.typedeventtarget) < [WebSocketEventMap](/content/docs/sdk/core.websocketeventmap_2/index.html) >

**Implements:** [IReconnectingWebSocket](/content/docs/sdk/core.ireconnectingwebsocket)

## Constructors

| Constructor | Modifiers | Description |
| --- | --- | --- |
| [(constructor)(url, protocols, options)](/content/docs/sdk/core.reconnectingwebsocket._constructor_/index.html) |  | Constructs a new instance of the `ReconnectingWebSocket` class |

## Properties

| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [\_options](/content/docs/sdk/core.reconnectingwebsocket._options/index.html) | `protected` | [Options](/content/docs/sdk/core.options) <WS> |  |
| [\_protocols?](/content/docs/sdk/core.reconnectingwebsocket._protocols/index.html) | `protected` | [ProtocolsProvider](/content/docs/sdk/core.protocolsprovider) | _(Optional)_ |
| [\_url](/content/docs/sdk/core.reconnectingwebsocket._url/index.html) | `protected` | string |  |
| [binaryType](/content/docs/sdk/core.reconnectingwebsocket.binarytype) |  | WS['binaryType'] |  |
| [bufferedAmount](/content/docs/sdk/core.reconnectingwebsocket.bufferedamount) | `readonly` | number |  |
| [CLOSED](/content/docs/sdk/core.reconnectingwebsocket.closed) | `readonly` | number |  |
| [CLOSED](/content/docs/sdk/core.reconnectingwebsocket.closed) | `static`<br>`readonly` | number |  |
| [CLOSING](/content/docs/sdk/core.reconnectingwebsocket.closing) | `readonly` | number |  |
| [CLOSING](/content/docs/sdk/core.reconnectingwebsocket.closing) | `static`<br>`readonly` | number |  |
| [CONNECTING](/content/docs/sdk/core.reconnectingwebsocket.connecting) | `readonly` | number |  |
| [CONNECTING](/content/docs/sdk/core.reconnectingwebsocket.connecting) | `static`<br>`readonly` | number |  |
| [extensions](/content/docs/sdk/core.reconnectingwebsocket.extensions) | `readonly` | string |  |
| [onclose](/content/docs/sdk/core.reconnectingwebsocket.onclose) |  | ((event: [CloseEvent](/content/docs/sdk/core.closeevent_2/index.html)) => void) | An event listener to be called when the WebSocket connection's readyState changes to CLOSED |
| [onerror](/content/docs/sdk/core.reconnectingwebsocket.onerror) |  | ((event: [ErrorEvent](/content/docs/sdk/core.errorevent_2/index.html)) => void) | An event listener to be called when an error occurs |
| [onmessage](/content/docs/sdk/core.reconnectingwebsocket.onmessage) |  | ((event: MessageEvent) => void) | An event listener to be called when a message is received from the server |
| [onopen](/content/docs/sdk/core.reconnectingwebsocket.onopen) |  | ((event: Event) => void) | An event listener to be called when the WebSocket connection's readyState changes to OPEN; this indicates that the connection is ready to send and receive data |
| [OPEN](/content/docs/sdk/core.reconnectingwebsocket.open) | `readonly` | number |  |
| [OPEN](/content/docs/sdk/core.reconnectingwebsocket.open) | `static`<br>`readonly` | number |  |
| [protocol](/content/docs/sdk/core.reconnectingwebsocket.protocol) | `readonly` | string |  |
| [readyState](/content/docs/sdk/core.reconnectingwebsocket.readystate) | `readonly` | number |  |
| [retryCount](/content/docs/sdk/core.reconnectingwebsocket.retrycount) | `readonly` | number |  |
| [shouldReconnect](/content/docs/sdk/core.reconnectingwebsocket.shouldreconnect) | `readonly` | boolean |  |
| [url](/content/docs/sdk/core.reconnectingwebsocket.url) | `readonly` | string |  |

## Methods

| Method | Modifiers | Description |
| --- | --- | --- |
| [close(code, reason)](/content/docs/sdk/core.reconnectingwebsocket.close) |  | Closes the WebSocket connection or connection attempt, if any. If the connection is already CLOSED, this method does nothing |
| [reconnect(code, reason)](/content/docs/sdk/core.reconnectingwebsocket.reconnect) |  | Closes the WebSocket connection or connection attempt and connects again. Resets retry counter; |
| [send(data)](/content/docs/sdk/core.reconnectingwebsocket.send) |  | Enqueue specified data to be transmitted to the server over the WebSocket connection | 
 
- [ReconnectingWebSocket class](/content/docs/sdk/core.reconnectingwebsocket#reconnectingwebsocket-class/index.html)
- [Constructors](/content/docs/sdk/core.reconnectingwebsocket#constructors/index.html)
- [Properties](/content/docs/sdk/core.reconnectingwebsocket#properties/index.html)
- [Methods](/content/docs/sdk/core.reconnectingwebsocket#methods/index.html)
