Многопоточный TCP сервер для сценарного языка OneScript
Многопоточный TCP сервер предназначен для одновременной обработки нескольких подключений клиентов. В данной работе главное внимание было уделено интеграции возможностей многопоточного TCP сервера и сценарного языка OneScript. С той же целью в состав библиотеки включен TCP клиент. Для версии OneScript v1.х.
https://ahyahy.github.io/OneScriptMultithreadedTCPServer/index.html
- Создать кроссплатформенный многопоточный TCP сервер для OneScript.
- Создать TCP клиент для OneScript.
- Сервер должен держать открытым соединение с клиентами до момента, пока или клиент, или сервер не разорвут соединение. Это основное отличие от классической схемы подключение-запрос-ответ-разрыв соединения.
- Количество одновременных подключений обрабатываемых без ощутимых задержек должно быть не менее 1500.
- Обеспечить не блокирующий сценарий запуск как сервера, так и клиента.
- Обеспечить обработку событий сервера и клиента в коде OneScript.
- Предусмотреть возможность как массовой рассылки сообщений всем подключенным клиентам, так и отправки сообщения отдельным клиентам по выбору.
- Простая работа с пересылаемыми данными. Возможность в коде OneScript задавать протоколы передачи данных. Для этого получаемые и передаваемые данные приведены к типу БуферДвоичныхДанных (BinaryDataBuffer). Этот тип позволяет легко манипулировать байт данными, вставлять информацию о длине передаваемого отдельного сообщения, типе данных в сообщении.
- При необходимости данные должны быть защищены криптографическим протоколом TLS (Transport Layer Security). TLS работает поверх TCP, и сервер использует его для создания защищённого канала связи, который обеспечивает конфиденциальность, целостность и подлинность соединения (аутентификацию).
Скачайте из каталога docs архив с именем формата MultithreadedTCPServerх_х_х_х.zip. Или релиз. Скачайте последнюю версию. Поместите находящуюся в архиве библиотеку, в какой либо каталог на диске. Самоподписанные сертификаты для тестирования лежат в подкаталоге tests. Можно создать другой самоподписанный сертификат методами библиотеки.
Возможно будет необходимо правой кнопкой мыши вызвать свойства скачанных архивов и разблокировать их.
Подключить библиотеку и создать объект OneScriptMultithreadedTCPServer можно так:
ПодключитьВнешнююКомпоненту("ВашКаталогНаДиске\MultithreadedTCPServer.dll");
МС = Новый МногопоточныйTCPСерверДляОдноСкрипта();В разделе Документация сайта библиотеки https://ahyahy.github.io/OneScriptMultithreadedTCPServer/doc.html можно найти примеры использования на каждый метод/свойство экземпляров классов. Достаточно скопировать пример, вставить в файл и сохранить с расширением .os. Обратите внимание на кодировку сохраняемого файла, она должна быть UTF-8.
Обратите внимание в справке на параграф "Документация-Дополнения". Там найдете примеры разных вариантов запуска сервера и клиента.
- По данной работе на сайте Инфостарт размешена публикация Многопоточный TCP сервер с защищённым каналом для сценарного языка OneScript.