Кто как решил вопрос уведомления о сделках?

Страницы: Пред. 1 2 3
RSS
Кто как решил вопрос уведомления о сделках?
 
Цитата
SDL написал:
Цитата s_mike@rambler.ru  пишет: Серверов, не нуждающихся, например, в TLS/SSL, уже мало и количество их уменьшается. Обычно это древние сервера. Дописывать библиотеку для поддержки новых стандартов, как я понимаю, никто не собирается.Главное не отчаиваться и слишком быстро не сдаваться.Качаем модуль LuaSec:Проект:  https://github.com/brunoos/luasec Бинарники можно взять тут:  http://love2d.org/forums/viewtopic.php?f=5&t=76728 . Нужны 2 файла - ssl.dll и ssl.lua.Использует библиотеки OpenSSL libeay32.dll и ssleay32.dll. Скачать, если нет, и не забыть обеспечить к ним доступ - через окружение (PATH) или можно кинуть в папку с QUIK.Подключаем:
Код
package.path = ...
package.cpath = ...
ssl = require "ssl"
Добавляем вот такую функцию:
Код
function sslCreate()
  local conn =
  {
     sock = socket.tcp(),
     connect = function(self, host, port)
        local r, e = self.sock:connect(host, port)
        if not r then return r, e end
        self.sock = ssl.wrap(self.sock, {mode = 'client', protocol = 'tlsv1'})
        return self.sock:dohandshake()
     end
  }

  local fnIdx = function(t, key)
     return function(self, ...)
        return self.sock[key](self.sock, ...)
     end
  end

  return setmetatable(conn, {__index = fnIdx})
end
... и отправляем:Кодsocket.smtp.send
{
  from = ...,
  rcpt = ...,
  source = ...,
  server = "smtp.mail.ru",
  port = 465,
  user = "user",
  password = "password",
  create = sslCreate
}И еще вкратце, что это за безобразие такое. Вся соль в возможности smtp.send() luasocket'а (см. доки) задать свою функцию создания сокета для отправки сообщения (create = sslCreate), который по умолчанию делается библиотекой просто как socket.tcp(). Мы делаем то же самое, но только обертываем его в подмененном методе connect, где нужно "договориться" с сервером по протоколу SSL. Всё. Еще в этой функции код для доступа к остальным методам сокета, ведь далее luasocket будет работать с ним как со стандартным.С mail.ru, например, работает без проблем.
Здравствуйте, взял все что необходимо для работы с сокетами SMTP и SSL из ZerobraneStudio и закинул в QUIK, закинул все нужные библиотеки core.dll socket.lua smtp.lua ssl.dll ssl.lua по нужным местам, скопировал ssleay32.dll и libeay32.sdll, скопировал Qlua.dll в lua51.dll, сделал все по рецепту автора, при выполнении скрипт в QUIKе отваливается с сообщением " Lua run time error occurred.",  провел отладку выполнения скрипта через Decoda - результат такой мой скрипт выполняется нормально, потом доходит до отправки емейла - тут тоже все нормально, доходит до строчки create = sslCreate дальше переходит в функцию function sslCreate() дальше при идет нормально и в один из моментов когда в файле ssl.lua доходит до строчки № 134  registry[s] = ctx весь скрипт в QUIKе  тваливается с вот этой вот ошибкой " Lua run time error occurred."

ssl.lua  строчка 134 registry[s] = ctx
Код
local function wrap(sock, cfg)
   local ctx, msg
   if type(cfg) == "table" then
      ctx, msg = newcontext(cfg)
      if not ctx then return nil, msg end
   else
      ctx = cfg
   end
   local s, msg = core.create(ctx)
   if s then
      core.setfd(s, sock:getfd())
      sock:setfd(-1)
      registry[s] = ctx
      return s
   end
   return nil, msg 
end
При том что проверил в ZerobraneStudio мой кусок кода отправляющий емейл и функция автора sslCreate() работают нормально - емейл отправляется без проблем, у кого будут какие соображения в чем проблема?
 
В момент выполнения строки registry[s] = ctx:   ctx= SSL context: 0D72EE88    тип - userdata   s = SSL connection: 0D848F00  тип - userdata
sock = tcp{client}:0D846E88    setfd=nil
Вообщем мне кажется что это связано с квиковским интерпретатором луа, т.к. операция registry это сохранение любых значений C кода в специальной общей таблице для всех выполняемых С кодов, вот тут в чем о и проблема, т.к. в других интерпретаторах, том же Zerobrane, такой проблемы нет
 
Добрый день.

Я подключил все библиотеки, socket подключается нормально. Но при подключении ssl, не находит ssl.core. ssl.lua, собственно, и пытается его включить local core    = require("ssl.core")
Т.е. нужна папка \ssl а в ней файл core.dll

Попробовал взять сборку Телеграм бота, что здесь выкладывали, аналогичная проблема. Похоже какая-то библиотека все же отсутствует.
Кто-то встречал похожую ошибку? Я нашел упоминания, то это связано с libeay32 и ssleay32, но они есть, путь к ним прописан. Плюс пробовал класть их в разные папки.
 
А тоже самое из ZeroBraneStudio работает. ssl.core - ошибку не дает, письма отправляются. А Квик ошибку выдает на local core    = require("ssl.core") в  ssl.lua
 
Цитата
Nikolay написал:
Я подключил все библиотеки, socket подключается нормально. Но при подключении ssl, не находит ssl.core. ssl.lua, собственно, и пытается его включить local core    = require("ssl.core")Т.е. нужна папка \ssl а в ней файл core.dll
Скопируй из квика из окна "Ошибки выполнения скрипта" то что там пишется при твоей попытке выполнить скрипт и выложи это сюда"
 
Цитата
Анатолий написал:
Цитата
Nikolay написал:
Я подключил все библиотеки, socket подключается нормально. Но при подключении ssl, не находит ssl.core. ssl.lua, собственно, и пытается его включить local core    = require("ssl.core")Т.е. нужна папка \ssl а в ней файл core.dll
Скопируй из квика из окна "Ошибки выполнения скрипта" то что там пишется при твоей попытке выполнить скрипт и выложи это сюда"
Ну так и пишется, что не может загрузить модуль. Все пути прописаны, библиотека рабочая, взята из поставки ZeroBraneStudio. Из нее все прекрасно работает. При этом просто socket загружается нормально.

Код
error loading module 'ssl.core' from file 'ssl.dll':
   Не найден указанный модуль.
 
Цитата
Анатолий написал:
В момент выполнения строки registry = ctx:   ctx= SSL context: 0D72EE88    тип - userdata   s = SSL connection: 0D848F00  тип - userdatasock = tcp{client}:0D846E88    setfd=nilВообщем мне кажется что это связано с квиковским интерпретатором луа, т.к. операция registry это сохранение любых значений C кода в специальной общей таблице для всех выполняемых С кодов, вот тут в чем о и проблема, т.к. в других интерпретаторах, том же Zerobrane, такой проблемы нет
Я тоже подозреваю, что с интерпретатором lua в Квике не все ладно. У меня также из ZeroBraneStudio все работает.
Также не все библиотеки можно подключить в Квике, для примера strict -  Квик падает без слов.
Также обнаружил, что внутри фунции SearchItems (в функции проверки) у меня почему-то проверка nil как false не срабатывает. Приходится явно писать ~= nil
 
Цитата
Nikolay написал:
Я тоже подозреваю, что с интерпретатором lua в Квике не все ладно. У меня также из ZeroBraneStudio все работает.
С интерпретатором луа в квике все ладно, просто там есть нюансы, у меня были все эти проблемы и я их решил, помоему ты всетаки не все скопировал из окна ошибок, полностью все оттуда скопируй и вставь сюда, или лучше сделай скрин и выложи
 
Цитата
Анатолий написал:
Цитата
Nikolay написал:
Я тоже подозреваю, что с интерпретатором lua в Квике не все ладно. У меня также из ZeroBraneStudio все работает.
С интерпретатором луа в квике все ладно, просто там есть нюансы, у меня были все эти проблемы и я их решил, помоему ты всетаки не все скопировал из окна ошибок, полностью все оттуда скопируй и вставь сюда, или лучше сделай скрин и выложи
Я скопировал все, кроме полного пути до файла ssl.dll. Больше ошибок нет. Выше по сообщениям этой темы были аналогичные сообщения.Если бы интерпретатор луа был чист, то типовая библиотека strict не приводила бы к падению терминала.
 
Сложно так сказать не видя что у тебя в скрипте и в папках квика, покажи тогда свой кусок скрипта где обьявляются пути

package.cpath  = ...
package.path  = ...

и идет подключение библиотек командой require
 
Цитата
Анатолий написал:
Сложно так сказать не видя что у тебя в скрипте и в папках квика, покажи тогда свой кусок скрипта где обьявляются пути

package.cpath  = ...
package.path  = ...

и идет подключение библиотек командой require
Так а что здесь такого при подключении... Я же говорю, что этот же скрипт ZeroBraneStudio в работает.
Отличие в том, что у него свои пути к библиотекам. А здесь такие.
Попытка поставить пути из ZeroBraneStudio для Квика приводит к аналогичной ошибке.

gSPath = 'D:\\Projects\\qlua_work'
gPath  = 'C:\\QUIK-Junior'
package.cpath = gPath.."\\?.dll;"..gSPath .."\\lua_socket_ssl\\?.dll;" ..gSPath .."\\lua_socket_ssl\\clibs\\?.dll;" ..gSPath .."\\lua_socket_ssl\\clibs\\mime\\?.dll;" ..gSPath .."\\lua_socket_ssl\\clibs\\socket\\?.dll;" .. package.cpath
package.path  = gSPath .."\\lua_socket_ssl\\?.lua;"..gSPath .."\\lua_socket_ssl\\socket\\?.lua;"..gSPath .."\\lua_socket_ssl\\ssl\\?.lua;" ..package.path

print(package.cpath)
print(package.path)

socket  = require("socket")
smtp    = require("socket.smtp")
ssl     = require("ssl") --- вот здесь и падает в Квике
 
Цитата
Nikolay написал:
socket  = require("socket")
А у меня такой строчки нету и все работает, короче у меня все прописано вот так:
package.cpath  =  getScriptPath () .. "\\ssl\\?.dll;C:\\ZeroBraneStudio\\bin\\clibs\\?.dll;C:\\ZeroBraneStudio\\bin\\?.dll;C:\\ZeroBraneStudio\\bin\\socket\\?.dll"
package.path  =   getScriptPath () .. "\\?.lua;"..package.path

smtp = require("socket.smtp")
mime = require("mime")
ltn12 = require("ltn12")
ssl = require("ssl")
https = require("ssl.https")

В папке квика - папка lua, в ней папки socket и ssl в них я закинул dll'ки, ssl.lua в самой папке lua, надо подумать какой прогой можно сделать чтобы сделать удобный листинг папок и закинуть их сюда,
Но есть еще один удобный выход который я и предпочел т.к. у меня либа ssl хоть и подключилась и работает однако она доставляет неудобства - с ней скрипт очень долго стартует - минут 5 наверно, почему непонятно, поэтому я от неё отказался и воспользовался прогой Stunnel, ищи в инете, она создает прокси SSL туннель и переправляет направляемый на неё траффик по ssl, и тогда в скрипте


ты отправляешь через неё мыло вот так:


function sendmail (message)
local r,e

r, e = smtp.send{
 from = "somemail@mail.ru",
 rcpt = "recepient@mail.ru",
 source = smtp.message(message),
 password = "password",
 user = "somemail",
 domain = "mail.ru",
 server = "127.0.0.1",
 port = 25,
}

return r,e

end

а в настройках Stunnel указываешь:

[mail-pop3]
client = yes
accept = 127.0.0.1:110
connect = pop.mail.ru:995
verifyChain = yes
CAfile = ca-certs.pem
checkHost = pop.gmail.com
OCSPaia = yes

[mail-smtp]
client = yes
accept = 127.0.0.1:25
connect = smtp.mail.ru:465
verifyChain = yes
CAfile = ca-certs.pem
checkHost = smtp.mail.ru
OCSPaia = yes

Все просто и понятно
И тогда твое мыло и без подключения ssl.dll уйдет на почту на порт 465 по SSL
 
Цитата
Анатолий написал:
Цитата
Nikolay написал:
socket  = require("socket")
А у меня такой строчки нету и все работает, короче у меня все прописано вот так:
Ну я хочу использовать эту библиотеку не для отправки почты. Для почты я написал на C# програмульку на 10 строк, вызываю ее из Квика и все.
А вот для других целей хочется запустить. Ясно, что дело в путях, т.к. в другом месте работает. Будем копать...
 
Проблему решил.
Пришлось скомпилировать самому luaSec 0.8-1 под lua 5.1, используя Open SSL.
Файлы libeay32 и ssleay32 обязаны быть рядом с файлом lua 5.1, т.е. в папке установки Quik.

У меня отправка почты совершается за секунду, две. Не более. Никаких задержек.

Теперь можно приступать к использованию библиотеки для интересных вещей, типа чтения Twitter и т.д.

Если кому интересно, готовая сборка с примером отправки почты с моего Гита:
https://github.com/nick-nh/qlua/tree/master/lua_socket_ssl
 
Цитата
Nikolay написал:
Я тоже подозреваю, что с интерпретатором lua в Квике не все ладно. У меня также из ZeroBraneStudio все работает. Также не все библиотеки можно подключить в Квике, для примера strict -  Квик падает без слов. Также обнаружил, что внутри фунции SearchItems (в функции проверки) у меня почему-то проверка nil как false не срабатывает. Приходится явно писать ~= nil
Кстати забыл сразу рассказать: у меня тоже по началу были такие проблемы с квиковским интерпретатором луа, но они решились все и больше не появлялись, а вызваны как мне кажется следующим - ты как и все остальные делаете так:
В папку со сторонними библиотеками ложите файл qlua.dll переименовав его в lua51.dll, еще хуже если люди берут lua51.dll откуда нибудь со стороны, из Zerobrane например, не переименовав оригинальный qlua.dll, тогда всякие глюки 100% будут, но и в первом случае - с помощью переименовывания qlua.dll  в lua51.dll я тоже наблюдал различные глюки и сообщения о некоторых ошибках во время выполнения скрипта, все эти ошибки у меня решились так:
1. В каждую папку со сторонними библиотеками ложится оригинальный qlua.dll а всякие lua51.dll удаляются.
2. Есть такая хорошая программка Dependency walker, с её помощь можно посмотреть с какими другими dll связана нужная тебе dll библиотека, но еще удобнее это посмотреть с помощью Total Commander Extended - просто становишся на dll'ку курсором, жамкаешь F3, вкладка Dll Dependency - смотрим - эта библиотека, к примеру ssl.dll требует для своей работы библиотеку lua51.dll, и кстати там будет показано - может ли нужная тебе библиотека связаться со всеми далее необходимыми ей библиотеками, если нет то возле нее будет гореть красный крестик
3. Далее любым HEX редактором, например WinHex, открываем ssl.dll для записи, ищем текст - lua51.dll
находим, далее осторожно! Необходимо стать курсором в текстовое поле отображения файла! не в шестнадцатиричное!  необходимо написать qlua вместо lua51, но при этом существующее положение точки т.е. символа разделения имени файла и расширения не должно измениться, т.е. точку трогать нельзя! qlua это на один символ меньше чем lua51, поэтому "q" писываем вместо "u" и т.д. итого у нас должно получится - lqlua.dll,  после того как писали qlua осторожно переходим в шестнадцатиричное поле и в ту позицию (байт) в которой содержится шестнадцатиричное значение буквы l ставим два нуля - "00" и буква l должна исчезнуть, сохраняем все изменения, открываем ssl.dll в Total'е, или в Dependency walker, смотрим - ssl.dll уже запрашивает не библиотеку lua51.dll а qlua.dll! Так проделываем со всеми своими сторонними библиотеками подключаемыми в скрипте самостоятельно - после этого у меня все проблемы с интерпретатором луа в квике пропали!
 
Цитата
Анатолий написал:

Далее любым HEX редактором ...
Есть более гуманный способ. Вот небольшой технологический дайджест по теме:

1. qlua.dll - реализация lua5.1.dll специально для Квика с целью добавления потокобезопасных методов работы с таблицами из разных потоков (sinsert(), sremove() и т.п. - см. документацию по QLua). В остальном это полноценная Lua, с которой можно линковать и свои модули.
2. Чтобы всё работало, процесс вне зависимости от числа созданных в нем потоков должен загрузить только один экземпляр qlua.dll. Почему? В DLL помимо кода (количество экземпляров которого безразлично) есть еще и глобальные переменные, в числе которых необходимые примитивы синхронизации. Если они будут созданы в нескольких экземплярах, толку от них никакого и все труды по обеспечению потокобезопасности - впустую.
3. Так как сторонние библиотеки едва что-нибудь слыхивали про Квик про QLua в нем, то слинкованы они с  lua5.1.dll или нечто подобным. Чтобы такие модули работали со скриптами в Квике, в комплекте программы поставляется  lua5.1.dll - модуль-прокси, который полезного кода не содержит, но перенаправляет все вызовы API к qlua.dll, таким образом решая две задачи: 1) внешние модули, слинкованные с   lua5.1.dll, успешно его находят и загружают; 2) обеспечивается загрузка только одного экземпляра API  Lua, а именно qlua.dll.

Выводы, для того чтобы всё находилось, загружалось и не падал терминал:
1. Из папок с файлами сторонних модулей можно удалить все  lua5.1.dll, чтобы гарантированно обеспечить загрузку   lua5.1.dll именно из папки Квика, то есть нашу заботливо изготовленную прокси.
2. Если внешние модули слинкованы не с lua5.1.dll, а с  lua51.dll,  lua.dll или подобным, скопируйте прокси lua5.1.dll из поставки Квика (!) в ту же его папку и обзовите файл как надо. Внимание, еще раз: qlua.dll копировать нельзя, прокси   lua5.1.dll - можно! А еще лучше не копировать, а создать символическую ссылку (symlink) на lua5.1.dll, если у вас файловая система NTFS. Это избавит от лишних хлопот, если внезапно  lua5.1.dll обновится вместе в Квиком.
3. Кто использует LuaSSL, библиотеки libeay32.dll и ssleay32.dll кладите в папку Квика, так как LuaSSL сделан так, чтобы эти библиотеки и lua5.1.dll находились в одном месте.
 
Как я выше написал, я решил проблему просто - сам скомпилировал библиотеки. И все заработало. Никаких переименований библиотек я не делал.
 
Кто  нибудь смог запустить этот вариант? https://quikluacsharp.ru/instruments/otpravka-sms-email-iz-qlua-ili-c/comment-page-4/#comment-28183
 
alexeyseikin, Где то есть такая же тема тут как делать. Но уже сам автор сделал новый файл для почты. Или речь об смс?
 
Поделитесь пожалуйста скриптом или подробным описание как делать  отправку оповещения на почту или телеграмм(вроде разблокировали)  с луа квик.  :oops:  
 
Поддерживаю. Вообще почему в квике нет функции оповещения. Ему значит инет безлимитный, железо все дела. А он отправить даже оповещение не может на почту. В терминалах которые любители пишут и то есть уведомление разные прикручивают.    :cool:  
 
На самом деле посылать письма из квика на смартфон
или оповещать через приложение,  работающие через интернет,
которое установлено  на смартфоне - это какой-то мазохизм.
---------------------
У вас терминал квика в режиме торгов постоянно включен в интернет
и смартфон тоже в интернете.
Ну так что же вам мешает передать сообщение по схеме pоint to point, а не гонять письма и сообщения через сторонние сервера?
Скорость передачи будет раз в сто выше, а накладные расходы раз в сто меньше.
Делал такое, давно это было.
--------------------------
Подумайте на досуге.
 
Цитата
nikolz написал:
мешает передать сообщение по схеме pоint to point
динамический айпи как минимум с одной стороны, а как правило - с обеих. Если на проводной стороне еще можно купить статический, то на стороне мобилы вряд ли. Времена честных интернетов давно прошли, теперь это телевизор с фидбеком.
 
Цитата
nikolz написал:
На самом деле посылать письма из квика на смартфон
или оповещать через приложение,  работающие через интернет,
которое установлено  на смартфоне - это какой-то мазохизм.
---------------------
У вас терминал квика в режиме торгов постоянно включен в интернет
и смартфон тоже в интернете.
Ну так что же вам мешает передать сообщение по схеме pоint to point, а не гонять письма и сообщения через сторонние сервера?
Скорость передачи будет раз в сто выше, а накладные расходы раз в сто меньше.
Делал такое, давно это было.
--------------------------
Подумайте на досуге.
Почта - это один из самых надежных способов доставки сообщений. Плюс реализация ptp обмена - это переусложнение простой задачи. Тем более, что я не хочу держать лишние аппликации типа мессенджеров на устройствах. А почтовый клиент - есть везде, даже на древней нокиа е61.
 
Выложил простой пример отправки почты через консольную программу на С#. Я не знаю язык, но он простой, поэтому просто адаптировал пример, найденный в MSDN.
https://github.com/nick-nh/SendEmail

Я предпочитаю именно такой вариант, потому что не надо думать о бинарной совместимости Квика и проблемах библиотек.
 
Nikolay, Спасибо тебе добрый человек. Дай бог здоровья, как моя теща говорит!
Еще бы подробную инструкцию.  :oops: Ну очень тяжело разбираться в чужом коде.
Спасибо. :smile:  
 
Цитата
Nikolay написал:
Проблему решил.Пришлось скомпилировать самому luaSec 0.8-1 под lua 5.1, используя Open SSL.Файлы libeay32 и ssleay32 обязаны быть рядом с файлом lua 5.1, т.е. в папке установки Quik.У меня отправка почты совершается за секунду, две. Не более. Никаких задержек.Теперь можно приступать к использованию библиотеки для интересных вещей, типа чтения Twitter и т.д.Если кому интересно, готовая сборка с примером отправки почты с моего Гита: https://github.com/nick-nh/qlua/tree/master/lua_socket_ssl
попробовал как написано просто запустить тест для запроса http
выходит ошибка. я так понимаю нет каких-то еще библиотек.
Код
OAuth.lua:1: module 'base64' not found:
   no field package.preload['base64']

Я пытаюсь сделать простой https запрос, нашел 2 темы которых есть примеры но в итоге не работает нигде. :(

Может кто-то собрал набор для работы с https (просто GET запрос надо отправить и все)?

 
рассказываю еще один простой способ
1) покупаем SIM800L+USBUART adapter  - цена на али 2 доллара
2) берем карточку от любого оператора с самым дешевым тарифом и подключаем к USB.
3) на LUA через UART, с помощью AT команд, можем посылать SMS,  UDP и  TCP пакеты, голосовые сообщения.
 
и самый халявный вариант.
Создаем в облаке ORACLE бесплатный виртуальный сервер и ставим на нем например MQTT брокер.
В итоге можно реализовать обмен информацией по подписке.
Можно и любой другой вариант обмена информацией со своим компом с QUIK
 
Цитата
Алексей Ч написал:
Перезалил  бота сюда .
В telegram_settings.lua нужно указать настройки бота. В квике запустить telegram.lua
Помимо сообщений о сделках и заявках, сообщает так же по запросам:
Fut - деньги на фортс (вариационная маржа)
Pos - позиции на фортс
Usd - текущие котировки USDRUB_TOM
Eur - соответственно EURRUB_TOM
Если написать код фьюча, то можно получить его котировку.
Любые другие символы сообщают, подключен ли квик или нет. В файл log.txt пишет номер последнего запроса
Добрый день, спасибо за бота, а можете помочь с ошибками?


C:\QUIK_VTB_85\quik-telegram-bot2\socket.lua:13: module 'socket.core' not found:

no field package.preload['socket.core']

no file 'C:\QUIK_VTB_85\quik-telegram-bot2\socket\core.lua'

no file 'C:\Program Files (x86)\Lua\5.1\lua\socket\core.lua'

no file 'C:\Program Files (x86)\Lua\5.1\lua\socket\core\init.lua'

no file 'C:\Program Files (x86)\Lua\5.1\socket\core.lua'

no file 'C:\Program Files (x86)\Lua\5.1\socket\core\init.lua'

no file 'C:\Program Files (x86)\Lua\5.1\lua\socket\core.luac'

no file 'C:\Program Files\Lua\5.1\lua\socket\core.lua'

no file 'C:\Program Files\Lua\5.1\lua\socket\core\init.lua'

no file 'C:\Program Files\Lua\5.1\socket\core.lua'

no file 'C:\Program Files\Lua\5.1\socket\core\init.lua'

no file 'C:\Program Files\Lua\5.1\lua\socket\core.luac'

no file 'C:\QUIK_VTB_85\quik-telegram-bot2\socket\core.dll'

no file '.\socket\core51.dll'

no file 'C:\Program Files

 
Добрый день. С как эту ошибку исправить?

 
Сделал небольшое решение для отправки сообщений в чат бота телеграма (Telrgram Bot Api).
https://github.com/nick-nh/qlua/tree/master/telegramQuik

Основа - это некое C# консольное приложение (многопоточный сервер), принимающее данные от lua скрипта и отправляющее уже сообщения в чат телеграм. Я предпочитаю делать так, дабы не связываться с проблемами совместимости библиотек lua.

Сначала сделал передачу данных на внутренний сервер через сокеты, но медленно оказалось.
Переделал на Named Pipes, быстрее намного. Пришлось написать библиотеку Named Pipe клиента для lua.

Пока сделал только отправку сообщений, т.к. это самая частая просьба.
 
Цитата
Nikolay написал:
Сделал небольшое решение для отправки сообщений в чат бота телеграма (Telrgram Bot Api).
https://github.com/nick-nh/qlua/tree/master/telegramQuik

Основа - это некое C# консольное приложение (многопоточный сервер), принимающее данные от lua скрипта и отправляющее уже сообщения в чат телеграм. Я предпочитаю делать так, дабы не связываться с проблемами совместимости библиотек lua.

Сначала сделал передачу данных на внутренний сервер через сокеты, но медленно оказалось.
Переделал на Named Pipes, быстрее намного. Пришлось написать библиотеку Named Pipe клиента для lua.

Пока сделал только отправку сообщений, т.к. это самая частая просьба.
информация к размышлению.
Вообще-то пакет байтов 500 по UDP сокетами передается даже на луа примерно не более чем за 20 ms. Это медленно?
Какая же у вас получилась скорость ?
---------------------------  
 
Передача данных быстрая, да. А вот подключение...

Вот чистый lua, библиотека socket, никакого ssl, никакого Квика.

clock 0.007   Attempting connection to host 'localhost' and port 8005...
clock 2.06    Connected!
clock 2.06    strin = test
clock 2.06    End

Не было желания постоянно держать открытое соединение.
Страницы: Пред. 1 2 3
Читают тему
Наверх