Как установить поддержку сокетов в скриптах QUIK ?

Страницы: 1
RSS
Как установить поддержку сокетов в скриптах QUIK ?
 

У меня версия QUIK 8.9.0.107

Версия LUA 5.3

Раньше использовал сокеты подключая их командой

socket=require("socket")

После переустановки QUIK выдается сообщение

module 'socket' not found:

Подскажите, пожалуйста, где мне скачать и как установить нужную библеотеку, что бы можно было пользоваться сокетами?

 
Я у себя сделал так:

1) создал в папке терминала подпапку socket и положил туда файл core.dll, который взял отсюда:
https://github.com/finsight/QUIKSharp/blob/master/src/QuikSharp/lua/clibs64­/53_MD/socket/core.dll

2) в папке с lua-скриптами создал папку lib, куда положил файл socket.lua, который взял отсюда:
https://github.com/finsight/QUIKSharp/blob/master/src/QuikSharp/lua/socket.lua
(в этой же папке ещё и другие файлы библиотек лежат)


3) в скриптах пишу
Код
local socket = require("lib.socket")

Возможно, есть какие-то другие способы.
 

Сделал, как вы написали. Не заработало.

Стабильно в QUIK на команду

local socket = require("lib.socket")

возникала ошибка

error loading module 'socket.core' from file 'C:\Open_Broker_QUIK\socket\core.dll':

               Не найден указанный модуль.

Потратил три дня. Перепробовал разные варианты.

Стал гуглить и читать форумы.

В этой ветке эту проблему тоже обсуждают

https://github.com/finsight/QUIKSharp/issues/201

И предлагают какие то непонятные танцы с бубном с подменой файла lua5.1.dll

Но по их методике ошибка у меня не исчезла.

В итоге методом тыка и перебора всех вариантов проблему решил следующим образом.

Сокеты начали работать.

1)      Скачал отсюда файл core.dll размером 177152 байт

https://github.com/finsight/QUIKSharp/tree/master/src/QuikSharp/lua/clibs64­/5.1_MT/socket

Это ссылка на тот же сайт что вы дали, но вместо 5.1_MD я качаю 5.1_MT

2)      В папке C:\Open_Broker_QUIK\ создал папку socket

3)      Положил туда core.dll размером 177152 байт скачанный на шаге 1)

4)      В скрипте LUA сокеты подключаю командой socket=require("socket.core")

Никаких других действий не делал. package.path и package.сpath не менял.

Вашего шага 2 тоже не делал.

Подскажите, чем отличаются файлы?

https://github.com/finsight/QUIKSharp/blob/master/src/QuikSharp/lua/clibs64­­/53_MD/socket/core.dll

Размер 52224. Эту библиотеку подключить не получилось.

И

https://github.com/finsight/QUIKSharp/blob/master/src/QuikSharp/lua/clibs64­­/53_MT/socket/core.dll

размером 177152 байт, с которой нормально заработали сокеты на LUA 5.3

 
Отличаются режимами сборки
Для /MD  требуется еще установленный Microsoft Visual C++ Redistributable соответствующей версии (в зависимости от версии Visual C++, в котором собирали). Ну либо установленный MS Visual C++ соответствующей версии.
Страницы: 1
Читают тему (гостей: 1)
Наверх