OneScriptMultithreadedTCPServer
Многопоточный TCP сервер для сценарного языка OneScript
Install / Use
/learn @ahyahy/OneScriptMultithreadedTCPServerREADME
OneScriptMultithreadedTCPServer
Многопоточный 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.
P. S.
Обратите внимание в справке на параграф "Документация-Дополнения". Там найдете примеры разных вариантов запуска сервера и клиента.
Статья на Инфостарт
<img src="https://infostart.ru/bitrix/templates/sandbox_empty/assets/tpl/abo/img/logo.svg" align="right" width="128">- По данной работе на сайте Инфостарт размешена публикация Многопоточный TCP сервер с защищённым каналом для сценарного языка OneScript.
Related Skills
node-connect
349.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
