> For the complete documentation index, see [llms.txt](https://docs.incari.com/incari-studio/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.incari.com/incari-studio/toolbox/communication/websocket.md).

# WebSocket

### Introduction

The **WebSocket** **Nodes** provide a means for the user to perform several actions within the *WebSocket* messaging protocol. *WebSocket* is a communication protocol that provides full-duplex, bidirectional communication channels over a single *TCP* connection. More information can be found [here](https://en.wikipedia.org/wiki/WebSocket). To use the **WebSocket Nodes** in **Incari**, the user needs to locate the [**WebSocket Attributes**](/incari-studio/modules/project-settings/websocket.md) in **Project Settings** and add a `Connection`.

This form of **Communication** in **Incari** is available as a plugin and is enabled as default. However, in the case that it is disabled in the **Plugins Editor**, it will not appear in the **Project Settings** and render the **WebSocket Nodes** unavailable. Please refer to the [**Plugins Editor**](/incari-studio/modules/plugins.md) to find out more information.

### WebSocket Guideline

These are the guidelines for incorporating **WebSocket Communication** into a **Project**.

* To properly start a connection, see the [**General Guideline**](/incari-studio/toolbox/communication.md#general-guideline) on the Communications Introduction page.
* Once the connection has been established, there are several **Nodes** that cover important functions of **WebSocket Communication**.
  * [**On WebSocket Error**](/incari-studio/toolbox/communication/websocket/events/onwebsocketerror.md) executes when an error is received.
  * [**On WebSocket Receive**](/incari-studio/toolbox/communication/websocket/events/onwebsocketreceive.md) executes when a **WebSocket** message is received.
  * [**WebSocket Client Send Packet**](/incari-studio/toolbox/communication/websocket/websocketsend.md) sends a **WebSocket** message.
* To properly stop a connection, see the [**General Guideline**](/incari-studio/toolbox/communication.md#general-guideline) on the Communications Introduction page.

### Contents

* [**Events**](/incari-studio/toolbox/communication/websocket/events.md)
  * [**On WebSocket Error**](/incari-studio/toolbox/communication/websocket/events/onwebsocketerror.md)
  * [**On WebSocket Receive**](/incari-studio/toolbox/communication/websocket/events/onwebsocketreceive.md)
  * [**On WebSocket Start**](/incari-studio/toolbox/communication/websocket/events/onwebsocketstart.md)
  * [**On WebSocket Stop**](/incari-studio/toolbox/communication/websocket/events/onwebsocketstop.md)
* [**WebSocket Client Send**](/incari-studio/toolbox/communication/websocket/websocketsend.md)
* [**WebSocket Client Start**](/incari-studio/toolbox/communication/websocket/websocketstart.md)
* [**WebSocket Client Stop**](/incari-studio/toolbox/communication/websocket/websocketstop.md)
