.. index:: Новый
.. function:: Новый("AddIn.WebSocket.Server");
Синоним: **New()**
Инициализация внешнего компонента (Сервер).
Полученный таким образом объект используется для дальнейшего взаимодействия.
Пример использования:
Сервер = Новый("AddIn.WebSocket.Server");.. index:: Запустить
.. function:: Запустить(Интерфейс, Порт, Сертификат="", Пароль="")
Синоним: **Run()**
Захватывает порт для прослушивания и принимает в асинхронном режиме соединения и сообщения. Для получения тела сообщения используется метод ``Получить()``
**Возвращаемое значение:**
Тип: **Булево**
Описание: Удалось ли захватить порт и начать прослушивание
Параметры:
**Интерфейс** - **Строка** - Интерфейс для прослушивания, например ``"0.0.0.0."``
**Порт** - **Число** - Числовой порт для прослушивания, например ``8080``
**Сертификат** - **Строка** - (Необязательный) Путь (ANSI) к сертификату для организации SSL доступа (``-----BEGIN RSA PRIVATE KEY-----`` + ``-----BEGIN CERTIFICATE-----``)
**Пароль** - **Строка** - (Необязательный) Пароль для сертификата
Пример использования:
Попытка
Сервер.Запустить("127.0.0.1", 8098, "c:/misc/ssl/cert.pem", "c:/misc/ssl/key.pem", "1234");
Исключение
Описание = ОписаниеОшибки();
ТекстОшибки = Сервер.ОписаниеОшибки();
ТекстОписания = Описание + ": " + ТекстОшибки;
ВызватьИсключение ТекстОписания;
КонецПопытки;.. index:: Остановить
.. function:: Остановить()
Синоним: **Stop()**
Завершает фоновую обработку соединений и освобождает порт. Исключений не вызывает
Пример использования:
Сервер.Остановить();.. index:: Отправить
.. function:: Отправить(ИДКлиента, ТелоСообщения)
Синоним: **Send()**
Добавляет сообщение для фоновой отправки клиенту
Параметры:
**ИДКлиента** - **Число** - Порядковый номер соединения. Можно посмотреть в свойстве ``Соединения`` или при обработке входящий сообщений методом ``Принять()``
**ТелоСообщения** - **Строка** - Тело отправляемого сообщения
Пример использования:
ТелоСообщения = "Hello World 1C";
ИДКлиента = 1;
Сервер.Отправить(ИДКлиента, ТелоСообщения);.. index:: Принять
.. function:: Принять(Таймаут, ИДКлиента, Данные)
Синоним: **Receive()**
Получает принятое сообщение в фоновом режиме, если сообщений нет ждет ``Таймаут`` миллисекунд, или ждет до появления сообщения, если ``Таймаут=0``
**Возвращаемое значение:**
Тип: **Булево**
Описание: Признак принятия сообщения. Истина, если сообщение принято
Параметры:
**Таймаут** - **Число** - Количество миллисекунд, на которое заблокировать вызов и ожидать сообщения. Если 0 - ждать бесконечно.
**ИДКлиента** - **Число** - Идентификатор соединения с клиентом
**Данные** - **Строка** - Полученные данные
Пример использования:
Таймаут = 0;
ИДКлиента = 1;
Данные = "";
// Постоянный цикл принятие сообщений
Пока Клиент.Принять(Таймаут, ИДКлиента, Данные) Цикл
Сообщить("Принят пакет данных от " + СокрЛП(ИДКлиента));
Сообщить(Данные);
КонецЦикла;
Таймаут = 3000;
// Ждем 3 секунды, если не принято сообщений исполнение кода продолжается
Пока Клиент.Принять(Таймаут, ИДКлиента, Данные) Цикл
Сообщить("Принят пакет данных от " + СокрЛП(ИДКлиента));
Сообщить(Данные);
КонецЦикла;
Сообщить("Закончен прием сообщений");.. index:: Отключить
.. function:: Отключить(ИДКлиента)
Синоним: **Disconnect()**
**Возвращаемое значение:**
Тип: **Булево**
Описание: Признак успешного отключения клиента
Отключает клиента от себя по идентификатору соединения
Параметры:
**ИДКлиента** - **Число** - Идентификатор соединения с клиентом
Пример использования:
ИДКлиента = 2;
Сервер.Отключить(ИДКлиента);.. index:: Сервер
.. function:: Сервер
Синоним: **Server**
**Возвращаемое значение:**
Тип: **Строка**
Описание: Хранит адрес текущего интерфейса прослушивания
Пример использования:
Если ЗначениеЗаполнено(Клиент.Сервер) Тогда
Сообщить("Сейчас сервер прослушивает: " + Клиент.Сервер);
КонецЕсли;.. index:: Порт
.. function:: Порт
Синоним: **Port**
**Возвращаемое значение:**
Тип: **Число**
Описание: Хранит порт прослушивания
Пример использования:
Если ЗначениеЗаполнено(Сервер.Сервер) Тогда
Сообщить("Сейчас сервер прослушивает порт: " + Сервер.Порт);
КонецЕсли;.. index:: Порт
.. function:: Соединения
Синоним: **Connections**
**Возвращаемое значение:**
Тип: **Строка**
Описание: Текущие активные соединения, ``ИД1:АдресПодключения1|ИД2:АдресПодключения2``
Пример использования:
Если ЗначениеЗаполнено(Сервер.Сервер) Тогда
Сообщить("Текущие соединения: " + Сервер.Соединения);
КонецЕсли;