# WebSocket Server for TX Text Control HTML5 Document Editor

WebSocket Server for TX Text Control HTML5 Document Editor for Angular and Node.js.

## Prerequisites

The "heart" of the TX Text Control HTML5 Document Editor is the so called synchronization service
that synchronizes the document in order to provide the WYSIWYG rendering. If you want to deploy
an application containing the editor, you will have to host your own synchronization service and
set the `serviceAddress` of the WebSocket server accordingly (see below). The synchronization service
is part of
[TX Text Control .NET Server for ASP.NET](https://www.textcontrol.com/products/asp-dotnet/tx-text-control-dotnet-server/downloads/#tab_trial).

## Installation

```sh
npm install @txtextcontrol/tx-websocket-server
```

## Usage

The following shows a minimal working example of a Node.js application which starts the TX
Text Control WebSocket server on port 8080:

```js
const { WebSocketServer } = require('@txtextcontrol/tx-websocket-server');
const express = require('express');

const app = express();
const server = app.listen(8080);

var wsServer = new WebSocketServer(server);
```

## Configuration

The `WebSocketServer` object can be configured via the optional second constructor parameter. This
parameter must be an object. This object can contain the following properties:

- **wsPath** (_string_) - The WebSocket endpoint path. The default value is `'/TXWebSocket'`.
- **serviceAddress** (_string_) - The synchronization service address. The default value is `'localhost'`.
- **servicePort** (_number_) - The port the synchronization service ist listening for connections on. The
  default value is `4283`.

## Environment Support

- TX Text Control .NET Server for ASP.NET `34.0 SP2`
