# 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**](https://docs.incari.com/incari-studio/2024.1/modules/project-settings/websocket) 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**](https://docs.incari.com/incari-studio/2024.1/modules/plugins) 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**](https://docs.incari.com/incari-studio/2024.1/toolbox/communication/..#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**](https://docs.incari.com/incari-studio/2024.1/toolbox/communication/websocket/events/onwebsocketerror) executes when an error is received.
  * [**On WebSocket Receive**](https://docs.incari.com/incari-studio/2024.1/toolbox/communication/websocket/events/onwebsocketreceive) executes when a **WebSocket** message is received.
  * [**WebSocket Client Send Packet**](https://docs.incari.com/incari-studio/2024.1/toolbox/communication/websocket/websocketsend) sends a **WebSocket** message.
* To properly stop a connection, see the [**General Guideline**](https://docs.incari.com/incari-studio/2024.1/toolbox/communication/..#general-guideline) on the Communications Introduction page.

### Contents

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