forked from ahyahy/OneScriptClientServer
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
82 lines (82 loc) · 6.34 KB
/
index.html
File metadata and controls
82 lines (82 loc) · 6.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Главная</TITLE>
<META content="text/html; charset=Windows-1252" http-equiv="Content-Type">
<LINK rel="stylesheet" type="text/css" href="styleos.css">
<script defer src="mobil.js"></script>
</HEAD>
<body>
<header>
<section>
<div>
<div id="logo"><big><big><big>Клиент-сервер<br><small><small>для сценарного языка</small></small> OneScript </big></big></big></div>
</div>
<div style="direction: rtl; overflow:hidden; padding: 8px 0px 0px 0px; margin-top:-7px;">
<DIV id=div22>
<input type="checkbox" id="toggle">
<label id="label1" class="hamburger-icon" onclick="label1click()"><div></div><div></div><div></div></label>
</DIV>
<nav>
<a onclick="navclick(event)" href="index.html">Главная</a>
<a onclick="navclick(event)" href="screenshot.html">Скриншоты</a>
<a onclick="navclick(event)" href="howworks.html">Как это работает</a>
<a onclick="navclick(event)" href="doc.html">Документация</a>
<a onclick="navclick(event)" href="down.html">Скачать</a>
<a onclick="navclick(event)" href="kont.html">Контакты</a>
<input type="checkbox" id="toggle2">
<a id="mobil" onclick="mobilClick()">`</a>
</nav>
</div>
</section>
</header>
<section>
<p>На этом сайте представлена бесплатная библиотека создания клиент-серверных приложений для сценарного языка OneScript.</p>
<p>
Основой проекта послужила разработка автора Halil ibrahim Kalkan <a href="https://www.codeproject.com/Articles/155282/TCP-Server-Client-Communication-Implementation" target="_blank">A Complete TCP Server/Client Communication and RMI Framework in C# .NET - Implementation</a>
под лицензией <a href="https://www.codeproject.com/info/cpol10.aspx" target="_blank">The Code Project Open License (CPOL) 1.02</a>
</p>
<p>С моей стороны была проведена адаптация вышеуказанной разработки для использования в коде односкрипта, а так же добавлена новая функциональность.</p>
<p>
Возможности библиотеки:
<li>
Обмен сообщениями. Сообщение может быть экземпляром классов:
<div style="margin-left: 40px; margin-bottom:5px;">
<br>СообщениеБайты (ByteMessage) (соответствует типу ДвоичныеДанные из 1С),
<br>СообщениеБулево (BoolMessage),
<br>СообщениеДата (DateTimeMessage).
<br>СообщениеТекст (TextMessage),
<br>СообщениеЧисло (NumberMessage) (соответствует типу данных decimal из C#),
</div>
<p style="margin-left: 40px;">
Размер пересылаемого сообщения для этих классов ограничен 128 мегабайтами.
Файлы превышающие этот размер нужно будет предварительно разбить на фрагменты.
</p>
</li>
<li>
Вызов клиентом методов на сервере и получение ответа в виде значения с базовым типом данных, или типом ДвоичныеДанные.
Методы будут исполнены в контексте сервера.
</li>
<li>
Вызов клиентом методов на другом клиенте и получение ответа в виде значения с базовым типом данных, или типом ДвоичныеДанные.
Методы будут исполнены в контексте другого клиента.
</li>
<li>
Многопоточность и асинхронность работы сервера. Сервер многопоточный (каждый клиент в своем потоке живет), асинхронный
(обработка клиентов происходит асинхронно).
</li>
<li>
Производительность. Для замера производительности на одном и том же компьютере были запущены сервер и клиент.
За одну секунду сервер подключил 1700 клиентов (экземпляров класса TCPКлиент(TcpClient)).
В другом замере клиент успешно послал 15000 коротких текстовых сообщений за одну секунду.
</li>
<li>
Сервер так же может обрабатывать подключения нативного клиента <B>TCPСоединение / TCPConnection</B> из библиотеки
односкрипта. На размер данных влияют системные ограничения.
</li>
<li>К серверу можно подключаться из браузера и обмениваться данными по протоколу http. На размер данных влияют ограничения браузера и системные.</li>
</p>
<p>Если быть точным серверов в библиотеке два. Это важно и об этом подробнее в разделе <a href="howworks.html">Как это работает</a>.</p>
</section>
</body>
</HTML>