Skip to content

Commit

Permalink
Updated README.md / WIP: #8
Browse files Browse the repository at this point in the history
  • Loading branch information
Enfernuz authored Mar 12, 2018
1 parent d48907c commit f92b673
Showing 1 changed file with 74 additions and 6 deletions.
80 changes: 74 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,14 +129,82 @@ RPC-сервис для вызова процедур из QLUA -- Lua-библ
</details>

### Запуск программы
В терминале QUIK в меню Lua-скриптов добавить скрипт `%PATH_TO_SERVICE%/service.lua`, где `%PATH_TO_SERVICE%` -- путь до папки с программой включительно (например, `D:/QUIK/lua/quik-lua-rpc`).
В терминале QUIK в меню Lua-скриптов добавить скрипт `%PATH_TO_SERVICE%/main.lua`, где `%PATH_TO_SERVICE%` -- путь до папки с программой включительно (например, `D:/QUIK/lua/quik-lua-rpc`).

Адрес, по которому доступен RPC-компонент, определяется в функции `OnInit` в первом аргументе метода `QluaService:start`.
Конфигурации точек подключения находятся в файле `%PATH_TO_SERVICE%/config.json`.

Адрес, по которому доступен компонент для рассылки событий (PUB/SUB), определяется в функции `OnInit` во втором аргументе метода `QluaService:start`.

Вы можете использовать как оба компонента, так и один из них (передавая в качестве адреса для другого компонента `nil`).
На данный момент ZeroMQ под Windows не поддерживает IPC-абстракцию (`ipc://`), поэтому для транспортного уровня остаётся (`tcp://`).
Краткая справка по формату конфигурационного файла на примере:

```javascript
{
// Точки подключения. Может быть сколько угодно различных точек подключения.
"endpoints": [
{
// Тип точки подключения:
// "RPC" -- для удалённого вызова процедур,
// "PUB" -- для рассылки событий терминала.
"type": "RPC",
// Признак активности/неактивности точки. Ненужные на данный момент точки можно деактивировать.
"active": true,
// TCP-адрес точки подключения.
// На данный момент ZeroMQ не поддерживает ipc-абстракцию под Windows,
// поэтому для транспорта остаётся TCP.
"address": {
"host": "127.0.0.1",
"port": 5560
},
// Секция настройки аутентификации для точки подключения.
"auth": {
// Механизм аутентификации ZeroMQ:
// "NULL" или пустая строка (нет аутентификации),
// "PLAIN" (пара логин/пароль без шифрования трафика),
// "CURVE" (ключевая пара и шифрование трафика).
"mechanism": "CURVE",
// Секция настройки PLAIN-аутентификации
"plain": {
// Список пользователей для точки подключения.
"users": [
{"username": "test_user", "password": "test_password"}
]
},
// Секция настройки CURVE-аутентификации
"curve": {
// Серверная ключевая пара CURVE
"server": {
"public": "rq:rM>}U?@Lns47E1%kR.o@n%FcmmsL/@{H8]yf7",
"secret": "JTKVSB%%)wK0E.X)V>+}o?pNmC{O&4W4b!Ni{Lh6"
},
// Список публичных CURVE-ключей пользователей
"clients": ["Yne@$w-vo<fVvi]a<NY6T1ed:M$fCG*[IaLV{hID"]
}
}
},

{
"type": "PUB",
"active": true,
"address": {
"host": "127.0.0.1",
"port": 5561
},
"auth": {
"mechanism": "",
"plain": {
"users": [
{"username": "test_user", "password": "test_password"}
]
},
"curve": {
"server": {
"public": "rq:rM>}U?@Lns47E1%kR.o@n%FcmmsL/@{H8]yf7",
"secret": "JTKVSB%%)wK0E.X)V>+}o?pNmC{O&4W4b!Ni{Lh6"
},
"clients": ["Yne@$w-vo<fVvi]a<NY6T1ed:M$fCG*[IaLV{hID"]
}
}
}]
}
```

Убедитесь, что используемые вами порты открыты.

Expand Down

0 comments on commit f92b673

Please sign in to comment.