> For the complete documentation index, see [llms.txt](https://vc-docs.gitbook.io/engine/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vc-docs.gitbook.io/engine/home/doxygen_synced/classes/class_web_socket.md).

# WebSocket

**Usage:** `const ws = new api.WebSocket(url); ws.Connect(() => {});`

Open a WebSocket connection to send and receive messages. Connect, send and close each take a callback that runs when the operation finishes.

## Public Classes

|       | Name                                                                                                                                                                                                                  |
| ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| class | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_web_socket_1_1_web_socket_state.md"><strong>WebSocketState</strong></a><br>Proxy class for WebSocketState enum.</p> |

## Public Functions

|      | Name                                                                                                                                                                                                                                                                                                            |
| ---- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|      | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_web_socket.md#function-websocket"><strong>WebSocket</strong></a>(string url)<br>Construct a new Websocket connection with given url.</p>                                                                      |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_web_socket.md#function-addonopen"><strong>AddOnOpen</strong></a>(NativeWebSocket.WebSocketOpenEventHandler callback)<br>Add a callback function to be called in WebSocket.OnOpen.</p>                         |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_web_socket.md#function-removeonopen"><strong>RemoveOnOpen</strong></a>(NativeWebSocket.WebSocketOpenEventHandler callback)<br>Remove a callback function to be called in WebSocket.OnOpen.</p>                |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_web_socket.md#function-addonmessage"><strong>AddOnMessage</strong></a>(NativeWebSocket.WebSocketMessageEventHandler callback)<br>Add a callback function to be called in WebSocket.OnMessage.</p>             |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_web_socket.md#function-removeonmessage"><strong>RemoveOnMessage</strong></a>(NativeWebSocket.WebSocketMessageEventHandler callback)<br>Remove a callback function to be called in WebSocket.OnMessage.</p>    |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_web_socket.md#function-addonerror"><strong>AddOnError</strong></a>(NativeWebSocket.WebSocketErrorEventHandler callback)<br>Add a callback function to be called in WebSocket.OnError.</p>                     |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_web_socket.md#function-removeonerror"><strong>RemoveOnError</strong></a>(NativeWebSocket.WebSocketErrorEventHandler callback)<br>Remove a callback function to be called in WebSocket.OnError.</p>            |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_web_socket.md#function-addonclose"><strong>AddOnClose</strong></a>(NativeWebSocket.WebSocketCloseEventHandler callback)<br>Add a callback function to be called in WebSocket.OnClose.</p>                     |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_web_socket.md#function-removeonclose"><strong>RemoveOnClose</strong></a>(NativeWebSocket.WebSocketCloseEventHandler callback)<br>Remove a callback function to be called in WebSocket.OnClose.</p>            |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_web_socket.md#function-connect"><strong>Connect</strong></a>(Action callback)<br>Asynchronously connect to client. Given callback is called once connection is established.</p>                               |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_web_socket.md#function-dispatchmessagequeue"><strong>DispatchMessageQueue</strong></a>()<br>Dispatch WebSocket message queue.</p>                                                                             |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_web_socket.md#function-sendtext"><strong>SendText</strong></a>(string message, Action callback)<br>Send a text message asynchronously to connected client. Given callback is called once message is sent.</p> |
| void | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_web_socket.md#function-close"><strong>Close</strong></a>(Action callback)<br>Close connection to connected client. Given callback is called once connection is closed.</p>                                    |

## Public Properties

|                                | Name                                                                                                                                                                                   |
| ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| NativeWebSocket.WebSocketState | <p><a href="https://git.unimetaverse.net/vc-core-engine/doxygen/-/tree/main/Classes/Classes/class_web_socket.md#property-state"><strong>State</strong></a><br>Get WebSocket.State.</p> |

## Public Functions Documentation

### function WebSocket

```csharp
WebSocket(
    string url
)
```

Construct a new Websocket connection with given url.

**Parameters**:

* **url** URL string to connect to

### function AddOnOpen

```csharp
void AddOnOpen(
    NativeWebSocket.WebSocketOpenEventHandler callback
)
```

Add a callback function to be called in WebSocket.OnOpen.

**Parameters**:

* **callback** Signature: void callback()

### function RemoveOnOpen

```csharp
void RemoveOnOpen(
    NativeWebSocket.WebSocketOpenEventHandler callback
)
```

Remove a callback function to be called in WebSocket.OnOpen.

**Parameters**:

* **callback** Signature: void callback()

### function AddOnMessage

```csharp
void AddOnMessage(
    NativeWebSocket.WebSocketMessageEventHandler callback
)
```

Add a callback function to be called in WebSocket.OnMessage.

**Parameters**:

* **callback** Signature: void callback(byte\[])

### function RemoveOnMessage

```csharp
void RemoveOnMessage(
    NativeWebSocket.WebSocketMessageEventHandler callback
)
```

Remove a callback function to be called in WebSocket.OnMessage.

**Parameters**:

* **callback** Signature: void callback(byte\[])

### function AddOnError

```csharp
void AddOnError(
    NativeWebSocket.WebSocketErrorEventHandler callback
)
```

Add a callback function to be called in WebSocket.OnError.

**Parameters**:

* **callback** Signature: void callback(string)

### function RemoveOnError

```csharp
void RemoveOnError(
    NativeWebSocket.WebSocketErrorEventHandler callback
)
```

Remove a callback function to be called in WebSocket.OnError.

**Parameters**:

* **callback** Signature: void callback(string)

### function AddOnClose

```csharp
void AddOnClose(
    NativeWebSocket.WebSocketCloseEventHandler callback
)
```

Add a callback function to be called in WebSocket.OnClose.

**Parameters**:

* **callback** Signature: void callback(\_UnusedParameter)

### function RemoveOnClose

```csharp
void RemoveOnClose(
    NativeWebSocket.WebSocketCloseEventHandler callback
)
```

Remove a callback function to be called in WebSocket.OnClose.

**Parameters**:

* **callback** Signature: void callback(\_UnusedParameter)

### function Connect

```csharp
void Connect(
    Action callback
)
```

Asynchronously connect to client. Given callback is called once connection is established.

**Parameters**:

* **callback** Signature: void callback()

### function DispatchMessageQueue

```csharp
void DispatchMessageQueue()
```

Dispatch WebSocket message queue.

### function SendText

```csharp
void SendText(
    string message,
    Action callback
)
```

Send a text message asynchronously to connected client. Given callback is called once message is sent.

**Parameters**:

* **message** message to send
* **callback** Signature: void callback()

### function Close

```csharp
void Close(
    Action callback
)
```

Close connection to connected client. Given callback is called once connection is closed.

**Parameters**:

* **callback** Signature: void callback()

## Public Property Documentation

### property State

```csharp
NativeWebSocket.WebSocketState State;
```

Get WebSocket.State.

***

Updated on 2026-07-22 at 12:00:00 +0800
