Skip to content

oscript-library/OneScriptMultithreadedTCPServer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Обратите внимание в справке на параграф "Документация-Дополнения". Там найдете примеры разных вариантов запуска сервера и клиента.

Статья на Инфостарт

About

Многопоточный TCP сервер для сценарного языка OneScript

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%