# Socket.IO

## Introduction

The **Socket.IO** **Nodes** provide a means for the user to perform several actions within the *Socket.IO* communications protocol. *Socket.IO* is related to *WebSocket* and allows for bidirectional communication between servers and web clients using **Socket.IO** events. More information can be found in the official [*Socket.IO* documentation.](https://socket.io/docs/v4/) To use the **Socket.IO Nodes** in **Incari**, the user needs to locate the [**Socket.IO Attributes**](https://docs.incari.com/incari-studio/modules/project-settings/socketio) 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 **Socket.IO Nodes** unavailable. Please refer to the [**Plugins Editor**](https://docs.incari.com/incari-studio/modules/plugins/communication/socketiomanager) to find out more information.

## Socket.IO Guideline

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

* To properly start a connection, see the [**General Guideline**](https://docs.incari.com/incari-studio/toolbox/communication/..#general-guideline) on the Communication Introduction page.
* Once the connection has been established, there are several **Nodes** that cover important functions of **Socket.IO Communication**.
  * [**Socket.IO Send**](https://docs.incari.com/incari-studio/toolbox/communication/socketio/socketiosend) sends a **Socket.IO** event's `Message` through the established connection.
  * [**On Socket.IO Receive**](https://docs.incari.com/incari-studio/toolbox/communication/socketio/events/onsocketioreceive) executes once a **Socket.IO** event's `Message` is received.
* To properly stop a connection, see the [**General Guideline**](https://docs.incari.com/incari-studio/toolbox/communication/..#general-guideline) on the Communications Introduction page.

## Contents

* [**Events**](https://docs.incari.com/incari-studio/toolbox/communication/socketio/events)
  * [**On Socket.IO Error**](https://docs.incari.com/incari-studio/toolbox/communication/socketio/events/onsocketioerror)
  * [**On Socket.IO Receive**](https://docs.incari.com/incari-studio/toolbox/communication/socketio/events/onsocketioreceive)
  * [**On Socket.IO Start**](https://docs.incari.com/incari-studio/toolbox/communication/socketio/events/onsocketiostart)
  * [**On Socket.IO Stop**](https://github.com/cgi-studio-gmbh/incari-doc/blob/2025.1/toolbox/communication/socketio/events/onsocketiounsubscribe.md)
* [**Socket.IO Send**](https://docs.incari.com/incari-studio/toolbox/communication/socketio/socketiosend)
* [**Socket.IO Start**](https://docs.incari.com/incari-studio/toolbox/communication/socketio/socketiostart)
* [**Socket.IO Stop**](https://docs.incari.com/incari-studio/toolbox/communication/socketio/socketiostop)
* [**Socket.IO Subscribe**](https://docs.incari.com/incari-studio/toolbox/communication/socketio/socketiosubscribe)
* [**Socket.IO Unsubscribe**](https://docs.incari.com/incari-studio/toolbox/communication/socketio/socketiounsubscribe)
